Bevezetés
Sziasztok! Üdv! Remélem, jól vagytok.
Június nagy hónap volt az Exercism-nél: elindult a Premium, ráadásul ünnepeltük a tízéves évfordulónkat is. És remélem, jól szórakoztatok a Lisp-ekkel a Summer of Sexps alatt. Most pedig térjünk át 2023 hetedik hónapjára, a hatodik tematikus hónapunkra: Jurassic July.
Mit értünk azon, hogy Jurassic? Nos, nem arról van szó, hogy ezek a nyelvek kihaltak volna, bár manapság valószínűleg nem írsz már új szoftvert COBOL-ban. Sokkal inkább arról, hogy ezek a legrégebbi nyelvek közé tartoznak: némelyikük több mint 60 éves. Hihetetlen mennyiségű szoftvert írtak bennük (főleg vállalati szoftvert). Mind hihetetlenül sikeres nyelv.
Na de melyek is ezek a nyelvek? Nos: a C, a C++, a COBOL, a Fortran és a Visual Basic. A C-vel és a C++-szal ebben a videóban nem foglalkozunk, mert azokat már körbejártuk a Mechanical March alkalmával, úgyhogy nézd meg azt a videót, ha érdekelnek ezek a nyelvek. A COBOL-lal, a Fortrannal és a Visual Basic-kel viszont mindjárt foglalkozunk is!
A jelvények
A jelvényt úgy szerezheted meg, ha ebben a hónapban teljesítesz 5 feladatot valamelyik ilyen nyelven. Az egész éves jelvényhez pedig ezeket kell teljesítened:
- Bob: stringekkel és feltételes logikával dolgozol
- Allergies: stringekkel, számokkal és bitenkénti műveletekkel dolgozol
- Reverse String: végigiterálsz egy string karakterein
- High Scores: számokból álló tömbökön iterálsz
- Armstrong Numbers: számokkal, valamint ciklusokkal és iterációval dolgozol
Áttekintések
Fortran
-
Az 1950-es években John Backus indította el az IBM-nél azzal a céllal, hogy gyakorlatiasabb alternatívát nyújtson az assembly nyelvvel szemben az IBM 704-es nagyszámítógépük programozásához
-
Eleve úgy tervezték, hogy kiváló legyen tudományos és mérnöki alkalmazások készítésében (a név a Formula Translating System rövidítése)
-
Az első magas szintű programozási nyelv (körülbelül a huszadrészére csökkenti a kódsorok számát)
-
Egyben az első optimalizáló fordító is (az ügyfelek vonakodtak magas szintű programozási nyelvet használni, hacsak a fordítója nem tudott a kézzel írt assembly nyelvhez közelítő teljesítményű kódot generálni)
-
Statikus és erősen típusos nyelv
-
Eleinte csak az imperatív programozást támogatta, de nem sokkal később megjelent a procedurális programozás is. A későbbi bővítések más paradigmákat is behoztak, például az objektumorientált programozást és a tömbprogramozást
-
Szabványosított: először 1966-ban a Fortran 66-tal, legutóbb pedig 2018-ban frissítették!
-
Rendkívül nagy hatású: a Basictól az ALGOL-ig sok nyelv ihletője volt. A korai programozásinyelv-kutatás jelentős része is a Fortran fejlesztését igyekezett segíteni
-
Még mindig aktívan fejlesztik, új funkciók kerülnek bele, miközben erős visszafelé kompatibilitási garanciákat tart (a régi kód általában továbbra is lefordul és fut)
-
Beépített párhuzamosság coarray-ekkel, ami a párhuzamosság kifejezésének biztonságos és hatékony módja. A függvények megjelölhetők tisztaként, ami segít a fordítónak a párhuzamos számításra optimalizálni
-
Biztonságos memóriakezelés allokálható változókkal, ahol a memória felszabadításáért a fordító felel.
-
Beépített együttműködés a C nyelvvel
COBOL
-
1959-ben tervezte a CODASYL konzorcium (a Védelmi Minisztérium támogatásával!), hogy csökkentse az üzleti alkalmazások fejlesztési költségeit (a név a Common Business-Oriented Language rövidítése)
-
1968-ban lett szabvány, a legutóbbi változata pedig 2014-ből származik
-
Több megvalósítása létezik, például az IBM COBOL, a GnuCOBOL (amely C-re fordít) és a Micro Focus™ Visual COBOL, amely a JVM-en és a .NET futtatókörnyezeten is fut
-
Statikusan típusos nyelv
-
Több paradigmát támogat: az imperatív és az objektumorientált programozást is
-
Bőbeszédű (sok kulcsszó), de nagyon emberközeli szintaxis. Ez segíti az olvashatóságot és a karbantarthatóságot
-
Jó visszafelé kompatibilitás, stabil specifikációval. A gyakorlatban alaposan kiállta a próbát
-
Jó teljesítmény (a pénzügyekben használják)
Visual Basic
-
A Microsoft fejlesztette ki a Visual Basic utódjaként, amely a .NET futtatókörnyezeten fut (a .NET utótagot a Visual Basic 2003 után elhagyták)
-
Az első verziója 2002-ben jelent meg, magát a nyelvet pedig 2023-ban nyilvánították „stabilnak”. Ez azt jelenti, hogy nem kerül bele új szintaxis, de továbbra is támogatott nyelv
-
Szintaxisát nagyrészt a Visual Basicből örökölte, de néhány dolgot megváltoztattak
-
Statikusan típusos nyelv, amely támogatja az erős és a gyenge típusosságot
-
Több paradigmás nyelv: elsősorban objektumorientált, de az imperatív és az eseményvezérelt programozást is támogatja
-
Könnyen megtanulható (a Visual Basicet eleve könnyen tanulhatónak tervezték)
-
Kiváló támogatás az objektumorientált programozáshoz
-
A bevált .NET futtatókörnyezeten fut, és hozzáfér az összes .NET-könyvtárhoz
-
Könnyű telepítés a ClickOnce segítségével
Felhasználási területek
Fortran
Nagy teljesítményű számítási környezetekben (szuperszámítógépeken) használják, például időjárás-előrejelzéshez, csillagászathoz és szerkezettervezéshez. CAD-szoftverekben is előfordul, és sok alkalmazás épül a FORTRAN-ra; például több NumPy-modul is FORTRAN 77-es könyvtárakat használ.
COBOL
A pénzügyekben használják a legtöbbet: sok pénzügyi rendszer nagy része még mindig COBOL-szoftveren fut (becslések szerint a pénzügyi tranzakciók körülbelül 80%-át COBOL működteti), igaz, manapság ez már inkább karbantartást jelent. Sok üzleti alkalmazásban is előfordul, sőt a Walmartnál egy kulcs-érték tárolóban is.
Visual Basic
Grafikus felhasználói felületekhez (például adatbázis-eléréshez) és szerveroldalon generált weboldalakhoz használják. Olyan cégek alkalmazzák, mint a Boeing, a Wells Fargo és a General Electric.
Miben különböznek programozási szempontból?
Fortran
Eleinte csak az imperatív programozást támogatta, de nem sokkal később megjelent a procedurális programozás is. A későbbi bővítések más paradigmákat is behoztak, például az objektumorientált programozást és a tömbprogramozást.
COBOL
Több paradigmás: támogatja az imperatív és az objektumorientált programozást.
Visual Basic
Több paradigmás nyelv: elsősorban objektumorientált, de az imperatív és az eseményvezérelt programozást is támogatja.
Kiemelkedő tulajdonságok
Fortran
- Teljesítmény. A Fortran nyelvet és adattípusait/adatszerkezeteit eleve hatékonyságra tervezték, kiváló a teljesítménye. Ezért használják szuperszámítógépeken
- Alapértelmezésben rengeteg matematikai függvényt támogat
- A tömbprogramozás nagyon elegáns módja annak, hogy műveleteket alkalmazz tömbre és tömbök szeleteire anélkül, hogy kézzel iterálnál vagy megadnád a tömb határait
COBOL
- A fixpontos aritmetikában nincs kerekítési hiba, a lebegőpontos számokkal ellentétben. Ez teszi kiválóvá a pénzügyi alkalmazásokhoz
- Kiváló fájlok (rekordok) olvasásához és írásához
- A COBOL beépített támogatást nyújt jelentések generálásához (ez is hozzájárult ahhoz, hogy népszerű lett az üzleti alkalmazásokban)
Visual Basic
- Kiváló grafikus alkalmazások készítéséhez Windows Forms használatával. Fogd és vidd WYSIWYG szerkesztő
- Kiváló IDE-támogatás: refaktorálás, kódkiegészítés és még rengeteg más
Melyiket próbáld ki?
- Ha a tudományos számítások vagy a nagy teljesítmény érdekel, a Fortran kiváló választás
- Ha szeretnéd megtapasztalni, hogyan épültek régen az üzleti alkalmazások, a COBOL remek választás
- Ha grafikus alkalmazásokat szeretnél fejleszteni, vagy már a .NET platformon vagy, a Visual Basic nagyon jól működik
- Ha érdekel a programozás története, a COBOL és a Fortran is remek kurzus, érdemes rájuk benézni