Hello World C nyelven

Ebben a témában: C Programozas, Fejleszto eszkozok

A C nyelv az egyik legismertebb programozási nyelv. Sok helyen használják, valamint több más ismert programozási nyelv fejlődött ki belőle (Java, Perl, PHP, C++). Az utasítás készlete, struktúrája és egész működési módja is sok más nyelvben köszön vissza.

 

 

A modern programozási nyelvek közül a C nyelv az egyik legidősebb, a 70-es évek elején született a B programozási nyelv alapján. Nem objektum orientált stílusú ellenben a korábban bemutatott Java nyelvvel, de a kód szeparációját hatékonyan támogatja. Ma már leginkább beágyazott környezetben használják hardver közeli programozáshoz. Előnyének mondanám, hogy nagyon gyors kódokat lehet vele írni, amiknek jól tervezhető és mérhető az erőforrásigénye. Mindezzel együtt nagyon szabadon engedi a programozó kezét, ezért nagyon nehezen karbantartható kódokat is lehet írni vele sajnos. Mivel több más nyelvnek is az alapja, ezért érdemes lehet ezzel a nyelvvel megismerkedni először. Komolyabb szinten azoknak ajánlanám, akik szeretnének hardver közeli feladatokkal foglalkozni például az autóiparban vagy úgy a beágyazott világban egyáltalán.

 

FejlesztőkörnyezetCEclipse C Programozas

Mint mindig, az első lépés most is a fejlesztőkörnyezet felállítása. Mint sok nyelvhez, úgy a C nyelvű programok fejlesztéséhez is használhatjuk az Eclipse-t. Ha még nem rendelkezel Eclipse-el, akkor kövesd a múltkori leírásomat, de most a C/C++ környezetet válaszd a Java környezet helyett.

Azok akik már rendelkeznek Eclipse-s környezettel és nem akarják azt lecserélni, azok egy Eclipse-s Plugin keretében tudják beszerezni a C-s környezetet, ezt a plugint nevezik CDT-nek. Egyébként az előbb külön telepített Eclipse is ezen a pluginon nyugszik. A CDT installálása pár lépésben megoldható:

  1. Nyissátok meg az Eclipse-t és menjetek a Help->Install New Software…
  2. Kattintsatok az Add gombra, majd írjátok be, hogy CDT, az elérési útvonalnak pedig másoljátok be ezt a linket.CDTInstall C Programozas
  3. Most csak a Main Features-t válasszátok ki, ez kezdésnek tökéletesen elegendő

 

Rendben, most már megvan a fejlesztő környezet, azonban sajnos még nem fogjuk tudni lefordítani a kódunkat, mert nincs telepítve C fordító még a gépünkre. Ez a helyzet akkor is, ha nem külön plugin-ként telepítetted a CDT-t, hanem a teljes Eclipse-s környezetet. Ha neked mégis van már telepített C fordítód, akkor ezt a lépés nyugodtan ugord át.

  1. Menj fel erre az oldalra.
  2. Töltsd le és telepítsd fel a MinGW-t. A beállításoknál válaszd ki az x84_64 architektúrát, mást nem kell külön beállítani.
  3. Az utolsó lépés az Eclipse összekötése a MinGW-vel. Ehhez az Eclipse-ben menj a Window->Preferences->C/C++/Build/EclipseMinGW C ProgramozasEnvironment-hez és add meg az elérési útvonalát a MinGW Bin mappájának, ami valahogy így néz ki, ha az alaphelyre telepítetted:
    C:\Program Files\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev2\mingw64\bin

 

Ha mindent jól csináltunk, akkor most már készen áll a fejlesztő környezetünk és el tudunk kezdeni C nyelven programozni.


(more…)

Java Programozás

Ebben a témában: Fejleszto eszkozok, Java Programozas

A Java Programozás már régóta az egyik legfelkapotabb téma. Az eddigi bevezetők után (Mit csinál egy Programozó?, Szoftverfejlesztés az Alapoktól, Szoftverfejlesztés Lépései), nézzük meg most részletesen, hogy milyen lépések kellenek ahhoz, hogy elkészítsük az első programjainkat.

 

 

Java programozás – A nyelv

A Java napjaink egyik legismertebb és legelterjedtebb programozási nyelve. Sikerét leginkább a könnyű használhatóságának és sokféleségének köszönheti. A Java alap platformja a Java Standard Edition (Java SE), mely tartalmazza a nyelvet valamint a fordító és a futtató környezetet. Az alap platformnak két fajta kiegészítése létezik specifikusabb környezetekre, szerver oldali programok megvalósítására a Java Enterprise Edition (Java EE), valamint kisebb erőforrású platformokra a Java Micro Edition (Java ME).

A Java egy objektum orientált programozási nyelv. Úgy tekint a világra mint különböző objektumok halmaza és azok egymással történő interakciója. Minden, amit ma a világból ismerünk leírható úgy, mint egy objektum. Minden objektumnak lehet tulajdonsága és lehet valamilyen művelete, amit képes elvégezni. Például egy objektum lehet egy lámpa, ami fehér színű, lehet fel és lekapcsolni és fogyaszt egy bizonyos mennyiségű áramot óránként. De objektumként leírható például egy ember is, akinek van neve, telefonszáma, tud aludni, sétálni, stb…

 

Vágjunk bele és készítsük el az első programunkat: Nézd meg videón (ráadás feladatokkal) vagy csak görgess tovább és olvasd el a lépéseket.

Eclipse Letöltése és Telepítése

Az első és legfontosabb feladat a fejlesztő környezet beállítása. A fejlesztő környezet nem csak beépítve támogatja a Java programozást, de lehetőséget biztosít az azonnali kipróbálásra is. Nekem a személyes preferenciám az Eclipse, de mindenki próbáljon ki több fajtát és válassza ki a sajátját.

Tehát töltsük le az oldalról az Eclipse Installer-t.

Eclipse Error Java Programozas

Ha valaki az alábbi hibaüzenettel találkozik, akkor én a legújabb verziójú JDK letöltését javaslom. Windows-hoz a Windows x64 Installer-t ajánlom, az tartalmaz mindent, ami a Java alapú fejlesztéshez kell.

Majd válasszuk az Eclipse IDE for Java Developers, mert mi most csak Java-ban akarunk programozni egyelőre.

 

 

Projekt létrehozása

Elindítás után megkérdezi az Eclipse, hogy hová mentse az adatainkat, ki kell jelölni egy Workspace-t (de az is elég, ha csak elfogadjuk az alapbeállítást). Miután ezt sikeresen megtettük beérünk a kezdőképernyőre, itt válasszuk a File -> New -> Java Project menüpontot. Ekkor az alábbi kép fogad majd bennünket:

Eclipse Uj Project Java Programozas

 

Itt adjuk meg csak a Projektünk nevét. Én most a HelloWorld nevet fogom neki adni. Ezután kattintsunk a Finish gombra, ezúttal más beállításra nem lesz szükségünk.

 

Hello World program implementálása

Most, hogy megvan a Projekt, fel kell építenünk a projekt struktúráját. A Java projektek struktúrája hasonlóan épül fel mint ahogy a Windows-os könyvtárszerkezet. A különböző forráskódokat különböző könyvtárakba tudjuk szétszórni majd felhasználni. Minden projektben kell, hogy legyen legalább 1 Package és legalább 1 Class fájl.

Hozzuk tehát létre a saját Package-ünket. Nyissuk le a projektünket, utána az src mappán jobb klikk majd New -> Package

Eclipse Class Letrehozas Java Programozas

A Package-t bárhogyan elnevezhetjük, én most “programmingPackage”-nek neveztem el. Ezután a Package-n jobb klikk majd New -> Class. Nevezzük el „Programming”-nak, majd pipáljuk be, hogy adja hozzá automatikusan a Comment-eket valamint a public static void main(String[] args) függvényt.

Ha elkészült a Programming Class-unk, akkor adjuk hozzá a parancsot a main függvényen belül, amivel ki tudjuk írni a képernyőre, hogy Hello World!

System.out.print(“Hello World! Programozz Te Is!”);

 

Eclipse Hello World Java Programozas

 

 

Hello Word program megértése

Az implementáció után, ha a programot lefuttatjuk a Play Gomb megnyomásával vagy a Ctrl+F11 billentyűzetkombinációval, akkor megjelenik a Console-n a Hello World! szöveg.

Mi is az amit most csináltunk egész pontosan?

(more…)

Szoftverfejlesztés lépései

Ebben a témában: Alapok, Fejleszto eszkozok

Nézzük meg kicsit részletesebben, hogyan is néz ki ma, egy nagyvállalati szoftver fejlesztése a gyakorlatban. Milyen életciklusa van a terméknek és kiknek a kezén megy át, mielőtt a vásárló a kezébe veheti.

 

1.      Vevői Specifikáció

          A fejlesztést megelőzi magának a terméknek a megrendelése. Ekkor a vevő elküldi a részletes specifikációját a terméknek. Régebben ezek a specifikációt mindenféle változatos formátumban jutottak el a gyártókhoz, azonban ma már gyakorlatilag minden fontos piaci szereplő a Doors nevű IBM-es követelménykezelő rendszert használja erre a célra. A program maga nem túl bonyolult, gyakorlatilag táblázatos formában érkeznek a követelmények, illetve különböző követelmények tudnak mutatni egymásra. Ezen felül még képes tárolni az egyes követelmények verzióit is. A vevőtől kapott követelményeket általában Customer Requirement Specification-nek (CRS) nevezzük.

 

2.      Szoftveres Specifikáció

       A következő lépés a vevői követelmények kiegészítése. A megrendelő által küldött követelményeket általában még több iteráción keresztül kell egyeztetni illetve kiegészíteni. Ezeket az egyeztetéseket és kiegészítéseket általában nem maga a programozó végzi (bár aktívan részt vesz a folyamatban), hanem az erre a feladatra kijelölt emberek, a vevői kapcsolattartók. Ha ez a lépés megvan, akkor már az is megvan, hogy pontosan mit is kell lefejleszteni. Ezt a csomagot nevezzük általában Software Requirement Specification-nek (SRS).

 

3.      Rendszertervezés

        A következő lépés, annak a szoftver rendszernek a megtervezése, ami majd képes lesz megvalósítani az SRS minden követelményét.

        Tervezésnek számít az is, ha egy A4-es papírra lerajzolom, hogy, hogyan fog kinézni a rendszer. Azonban ma már ettől sokkal komolyabbak az elvárások megrendelői oldalról is, valamint a mai projektek már általában nem férnek rá egy A4-es lapra. Éppen ezért már nagyon ügyes modellező programok vannak a piacon. Ezekben rengeteg féle aspektusból lehet lerajzolni a rendszert vagy annak egy szeletét. Nincs igazán egyeduralkodó modellező keretrendszer, a legelterjedtebbek a Rhapsody, MagicDraw, Enterprise Architect. Illetve léteznek különböző modellező nyelvek is, ezek között egyeduralkodónak mondanám az UML-t. Ha jól megterveztük a rendszerünket, akkor már van lehetőségünk, hogy egy gombnyomásra tudjunk kódot generálni. Az előbb említett modellező szoftverek már beépítve nyújtanak kódgenerálási lehetőségeket. Azonban ezeket nehéz jól használni, ezért általában csak a teljes rendszer egy kis része generálható.

 

4.      Implementáció

          A tervezési fázis után következik (végre) az implementálási fázis, amikor is már ténylegesen kódot „gyártunk”. Ez, a már korábban bemutatott programozási keretrendszerekben történik, a szükséges programozási nyelven. Ha a rendszerünket a tervezési fázisban jól átgondoltuk, akkor ebben a lépésben már kevesebb dolgunk lesz, mivel gyakorlatilag „csak” le kell kódolni a tervrajzokat.


(more…)

Szoftverfejlesztés az alapoktól

Ebben a témában: Alapok, Fejleszto eszkozok

Tudod, hogyan működik egy telefonos applikáció? Miért nyílik magától a fotocellás ajtó, vagy miért indul el a lift, ha megnyomsz benne egy gombot? Hogyan tudja vezetni a robotpilóta a Tesla autóit vagy éppen egy repülőt?

 

 

Sok érdekes, látszólag különböző kérdés, azonban a válasz mindegyikre ugyanaz. Ezekben az elektronikai eszközökben programok futnak melyek bizonyos bemenetek hatására bizonyos dolgokat hajtanak végre.

 Szoftverfejlesztes az Alapoktol

 

A programot magát, a CPU, a Processzor fogja végrehajtani. Mire a CPU elkezdi végrehajtani a programot, addigra az már csak 0-k és 1-esek véges hosszú sorozata lesz, ugyanis a CPU csak ezt a két értéket tudja értelmezni. Tehát mondhatnám, hogy egy Programozónak csupán egy két gombos billentyűzetre van szüksége.

Na de persze a valóságban ez nem így működik, ugyanis erre a feladatra találták ki a különböző programozási nyelveket. A programozási nyelv nem más, mint különböző utasítások halmaza. Képzeld el a programozási nyelvet úgy, mint az emberi nyelvet, ahol a használható szavak az utasítások. Az ezen utasítások véges hosszú sorozata pedig a program maga, mint egy szöveg a szavak segítségével. Minden utasításhoz tartozik egy egyedi azonosító, ami nem más, mint egy bináris szám. A számok sorozatát a programból pedig, egy úgynevezett fordító vagy Compiler tudja előállítani. Ez a számsorozat lesz a 0-k és 1-esek véges hosszú sorozata.

                                                                                   Programozo Billentyuzete

 

A trükk pedig ott van, hogy rengeteg féle programozási nyelv létezik. Ugyanis másfajta utasításokat érdemes használni a fotocellás ajtóhoz és megint másfajtákat egy telefonos applikációhoz. A teljesség igénye nélkül:

  • Web programozáshoz: HTML, PHP, Javascript, Python
  • Telefonos alkalmazásokhoz: Objective-C, Java
  • Beágyazott rendszerekhez (autók, repülők, robotok, …): Assembly, C, C++
  • Számítógépes alkalmazások: C#, Java
  • Adatbázisok: SQL


(more…)