Mióta foglalkozol programozással?

 ( sly007 | 2018. február 14., szerda - 9:28 )
-1960
0% (1 szavazat)
1961-1970
0% (2 szavazat)
1971-1980
2% (10 szavazat)
1981-1990
24% (107 szavazat)
1991-2000
27% (119 szavazat)
2001-2005
14% (60 szavazat)
2006-2010
8% (36 szavazat)
2011-2015
5% (21 szavazat)
2016-
1% (3 szavazat)
Csak az eredmény érdekel, de nem bírom ki hogy ne szavazzak. Nem programozok.
19% (83 szavazat)
Összes szavazat: 442

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

1980..., ebben a sorrendben:
https://hu.wikipedia.org/wiki/EMG_666
http://ajovomultja.hu/m08x-szemelyi-szamitogep
http://ajovomultja.hu/proper-16
http://oldcomputers.net/ibm5155.html
...
https://www.apple.com/hu/watch/ - ezzel kb. a hello world-nél tartok.
Szóval még meg sem születtem, amikor mások már régen programoztak.

Akkor Te még láttál 8"-os floppy-t :))

Eltettem hármat.
Feliratok:
- Piszkálni - LINUX BOOT
- CP/M 3.0
- Install

Szüleim az OKGTben dolgoztak, ott láttam a diszpécsereknél mo8xet, számtecheseknél meg propert. Mo8xre volt valami szöveges grafikus űrjáték, azzal nyomtam.


"I'd rather be hated for who I am, than loved for who I am not."

Kvadránsok között ugrabugrálni, iránymegadással torpedót lőni?

ká régen volt, de szerintem ugyanarra a játékra gondolunk. csillagokkal meg mínusz és plusz jelekkel volt egy csillagtérkép emlékeim szerint, aztán be tudtad írni, hogy mit szeretnél tenni. valami jelzése volt az űrhajóknak is. talán v betű. tényleg ká régen volt.

esetleg nincsen meg, vagy esetleg nincsen mo8x emulátor? kicsit nosztalgiázni. mo8x emulátor mintha rémlene, de szerintem rendszert nem találtam hozzá és hagytam. ha jól rémlik az mo8x meg valaminek a koppintása volt.


"I'd rather be hated for who I am, than loved for who I am not."

PROPOS 16 milyen rendszer volt? Valami DOS klón? Vagy annál jobb, esetleg gyengébb OS?

Inkabb CP/M jellegu volt (jah, vegulis "DOS"). Kiskoromban talalkoztam vele parszor. :D

Nekem ezek kimaradtak. De amit utólag olvastam abból az jött le, hogy a CP/M fejlettebb rendszer volt a DOS-nál. Csak csúszott a fejlesztése az akkor új x86-ra, és ezért vittel el a show-t lecsupaszított változata, a DOS. CP/M tudott multi user környezetet meg multitask volt.

CP/M tudott multi user környezetet meg multitask volt.
Osztán mán olyan öreg vót, hogy a nevíre söm emléxett: MP/M ;)
Ilyen rendszeren dolgoztam MP/M-ben 1985 körül.
Hiába a késés, eleinte nagyon kevés program volt pécére. Ezért még crossassembler segítségével is portoltak programokat CP/M-ről - pl. WordStar.
Akkoriban a munkahelyemen DOS környezetben futtott Turbo Pascal, WordStar, I80 (az Intel Isis-II fejlesztőrendszer emulációja - fenn van a GitHub-on). Otthon meg az Enterprise 128 (IS-DOS) alatt a DOS lemezen átvitt dokumentumokat és forráskódot tudtam használni a Turbo Pascal, WordStar, Macro80 CP/M verziójával.

A Proper 16-on DOS volt. Verzióra nem emlékszem.
A tetején pedig Basic, dBase III, aztán Clipper.
(dBase II. az mo8x-hez volt.)

A prog.hu még mindig a Microsoft elvakult agitprop osztálya?

Már azt hittem csak az én szépérzékem bántotta a prog.hu-s referencia! ;-)
Köszi!

prog.hu = pcforum.hu = sting

Bár sosem dolgoztam programozóként, de úgy 1988 óta programozom. Egy C64-gyel kezdtem még 12 éves koromban.

Dettó 1988, csak én +4-en kezdtem, és a C64, meg az XT-n futtatott Turbo Pascal kicsit később jött.


„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

[x] 2011-2015
2014-ben volt az első olyan munkám, amikor kódolásért fizettek.
általános iskola alsóban (2003 körül) pöcögtettem Pascalt először.

Akkor nem 2001-2005? Az a kérdés, hogy mióta foglalkozol programozással...

gondolkoztam rajta, de az eredeti cikkben munkahelyi, meg aktív foglalkozást emlegetnek

> having started coding for a living in 1969

szóval szerintem foglalkozol -> mióta ez a foglalkozásod.

Elfogadható kifogás :)

Szerk.: Viszont a nyitó kérdés: Who has been programming the longest?

A szerző (azaz én) arra gondoltam hogy, mikor írtad le az első kódsort. :) Jobban mondva, mikor kezdett el foglalkoztatni. Tehát még nem a foglalkozásod volt.

átszavaztam a 2001-2005-re.

A legkomplexebb dolog valami készlet-nyilvántartó volt, amit apámnak valami problémáját oldotta volna meg - de aztán sosem használta senki, nem jutott el odáig. Pascalban, bináris fájlokba mentett valami magic dolgokat, full DOS-os kezelőfelülettel. Valszeg 3 napot nem élt volna túl, de negyedik-ötödikben jó szórakozás volt. (meg az eredeti problémát is egyszerűbb lett volna megoldani Excelben/Accessben, ha kicsit komplexebben ismeri bármelyikőnk az Excelt/Accesst :-) )
De kb. innentől tudtam, hogy ezzel akarok foglalkozni.

Aztán középiskola alatt kollégium, s ott nem volt gépem, majd egyetemen már C-ben pötyögtünk.

Érdekes lenne előtúrni 1-2 dolgot abból az időből, kicsit sajnálom, hogy nem mentettem le.
(pont a napokban kerestem az első féléves egyetemi beadandóimat, de azt is kidobtam a Google Drive-ból valamikor, mondván már nem kellenek az első féléves jegyzeteim. Kezdhettünk volna githubbal :-) )

Félreértetted a szavazást, szavazz át másik opcióra. Ahhoz, hogy megtanulj programozni, az kell, előtte már foglalkoztál vele. Így vele való foglalkozásnak számít, ha egyénileg, vagy oktatási intézményben tanultad (nem feltétlenül csak felsőoktatást kell érteni itt), vagy mondjuk csak hobbiként toltad, vagy opensource dolgokat írtál (nem megrendelésre, nem fizetésért). Nehogy már ezek ne minősüljenek vele való foglalkozásnak. Ráadásul nem csak az alkalmazások írása számít itt, mielőtt valaki még ezzel is jönne, így az is játszik, ha scriptekkel (legyen az akár lua-script egy játékban!), webes programozással kezdted, és bár nem klasszikus programozás, de én még azt is ide sorolnám, ha valaki pl. TeX/LaTeX csomagot hegesztett, vagy vim addont, vagy valami dBase-klónban dolgozott, mert azért az sem kapálás vagy retikülszellőztetés kategória. Nyilván ez utóbbi kategóriákat lehet vitatni, ki hogy ítéli meg, mennyire szűken kezeli a programozás fogalmát.


„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

nekem az első hsz-ben linkelt vonalon elindulva nem ez jön le, de lásd itt: #comment-2197803

> átszavaztam a 2001-2005-re.

Látod ezt nem vettem észre, csak a szavazást néztem. Viszont akkor meg ordas nagy baromság, mert egy csomó jó programozó van, aki hivatásszerűen nem programozott soha, csak hobbiként, meg opensource hozzájárulóként. Azért kicsit erős lenézni, hogy buzi amatőrök.

Ha midenképp ahhoz ragaszkodik a szavazás kiírója, szerkeszteni kéne a szavazás címét: „Mióta foglalkozol hivatásszerűen programozással?”. Úgy valóban egész más eredmények fognak kijönni, kérdés az mit fog tükrözni, mire lesz jó.


„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

közben az OP egyértelműsítette, hogy ő a te értelmezésed szerint gondolta a kérdést :-)
nekem nem fáj, én szavazok akkor így. csak nekem nem ez jött le az első kommentből.

Azt hova soroljam, hogy kb. 10-12 évig dolgoztam programozóként kisebb kitérővel, majd hagytam a *****ba az egészet és csak szórakozásból ismerkedek nyelvekkel? :)

Mióta volt a kérdés. Tehát azóta lehet hogy már nem programozol, de azért még nagy vonalakban megvannak szerintem az emlékeid hogy hogyan kell. Vezérlési szerkezetek,alap algoritmusok stb.

1986 ->

Első gép: https://vintagecpu.wordpress.com/texas-instrument-ti-994a/
Hall generátoros billentyűzet, NTSC videojel. Vettem hozzá egy NTSC-s JVC tévét 36 cm-es képernyőátmérővel.
Kukorica terméshozamokat számoltam át májusi_morzsoltba (<- ez egy szakkifejezés).

Utána C64 basic, majd assembly. Gyorsan kinőttem, jöttek a 286osok, majd a 386osok,
Motorola 68070 és különféle mikrokontrollerek assemblyben.
1997-ben (?) tértem át linuxra és C-re

Röviden ennyi....

> Sol omnibus lucet.

Ó, kicsit irigyellek, akkoriban egy TI 99/4A gépre mindig vágytam, de nem jött össze. Tetszett a magazinokban megjelent képek és leírások alapján.


"I'd rather be hated for who I am, than loved for who I am not."

Anno volt egy Univerzum c. magazin, abban jelent meg egy pár oldalas írás a ZX81-ről. Több, mint egy éven át csorgattam rá a nyálam. :D
Aztán láttam egyet élőben és óriásit csalódtam...
Végül valahogy összekuporgattam úgy 20000Ft-ot, vettem egy tévét, meg egy ZX Spectrum+-t... Azóta képernyő/monitorfüggő vagyok. :(

érdekes állat volt a ZX81, manapság a mellettem lévő üdítőnek szerintem nagyobb a bármifajta kapacitása, de 1981ben nagyot ütött házi szinten. mondjuk a fast meg slow módja érdekes volt, ahhoz, hogy gyors legyen, ki kellett kapcsolnia a képernyőt. de hát (relatív) olcsó volt és akkor nagy szám. :)


"I'd rather be hated for who I am, than loved for who I am not."

Nekem két dolog okozta azt a nagy csalódást: az első a mérete, szinte a tenyeremben elfért. A második a fóliabillentyűzet, ami borzasztónak tűnt első látásra.

...es hasznalni is borzaszto volt... Mondjuk sosem birtam megszokni a specci like utasitas-bevitelt...

Szerk.: viszon a negyedelt kitoltesu karaktereibol takolt vonalhuzot meg x86/cga (emu on hercules) is portoltam. Really low resolution, but REALLY fast! :D

Antialiasing is van már benne? ;)
(A napokban mérgelődtem, hogy nem tudok python+tkinter segítségével egyenesnek látszó vonalakat rajzolni grafikonra, mind "lépcsős".)

Fura a billentyűzet használat: én már tudtam tíz ujjal, vakon gépelni, mégis elég hamar ráállt a kezem a basic bevitelre is. J, mint LOAD... :D

Hogyne. :D Do it by hardver: shitty "displays". :DDD

(Hasznalj pl. svg-t, es a megjelenito modul megoldja az elsimitast. Cairo.)

igen, mindkettő igaz. szörnyű volt és a bevitel is megszokást igényelt. de akkor nem volt más elérhető gép.

zx81-es kedvencem a 3d monster maze (hozzám persze másolva érkezett, én így a tyrannosaurus rex néven ismertem), erőteljesen használta az általad említett negyedelt kvázi grafikus karaktereket:

http://www.fruitcake.plus.com/Sinclair/ZX81/Software/MonsterMaze.htm


"I'd rather be hated for who I am, than loved for who I am not."

5000 Ft-ért vettem. Bejött egy srác az utcáról, hogy most jött haza Amerikából, van egy eladó számítógépe, ami nem jó semmire. Mondtuk neki: nem kell. Erre ő: 5.000 Ft (kb egy havi fizetés vagy egy kicsit kevesebb). Mire én, az más, fogd a pénzt és fuss.1986-87 lehetett vagy ehhez hasonló.

> Sol omnibus lucet.

1988-ban az első munkahelyemen 3800 forintos bérrel indultam... és milyen volt a gép használat közben? mert én csak olvastam és álmodoztam róla.


"I'd rather be hated for who I am, than loved for who I am not."

Sajna háttértár nem volt hozzá, így mindig 0-ról kellett indítanom a munkát. A végén úgy tudtam a programot, mint egy verset. A színek szépek voltak, a billentyűzet fantasztikus, a 16K ramot viszont nagyon kevésnek tartottam (akkor kezdődött a C64 őrület). Jó lett volna egy-két bővítő cucc hozzá, de egyszerűen nem lehetett beszerezni. Első lépésnek kiváló volt. Ja és gépi utasításkészlete egyedülállóan jó volt (pl: tetszőleges bit ki/bebillenthető volt), de nem lehetett szerezni hozzá fordítót és a processzorhoz sem lehetett basicen keresztül hozzáférni, így az ismeretek akadémikusak maradtak e téren.

> Sol omnibus lucet.

1984-ben, gimiben találkoztam HT1080Z számítógéppel... Faltam minden számítógépről szóló szakirodalmat - pár hónapja egy nylon zsák mélyéről került elő egy általam készített "könyv", amibe az akkori Ötlet magazin számítástechnikai mellékletének (Bit-Let) lapjait kötöttem...
Akkoriban a C64-et itthon egymillió Ft-ért árulták. :)

Szerintem 100ezerért. Akkoriban 2-4000Ft volt a havi átlagfizu, ha jól rémlik.
Az a millió kicsit erős túlzásnak tűnik.

Elképesztő árak voltak!

> Sol omnibus lucet.

'85 körül, a veszprémi bizományi kirakatában, 500ezerért láttam C64-et floppy meghajtóval.

Emlékeim szerint 100k körül volt '83 körül egy C64 a Bizományiban.
1541 is ~ annyi volt.

Viszont egy eredeti IBM PC az olyan 2-2,5 milla volt.

"1984-ben, gimiben találkoztam HT1080Z számítógéppel, ..."

Én is! :-)

Ámbár volt ott egy ABC-80 is, és néha azt is használtam.

Amúgy programkódot először egy budin ülve olvastam 1983 környékén. WC-papír gyanánt volt felvágott újság odatéve és abban valami utolsó oldalas rovatban elemi Basic progik voltak ismertetve. Egyből megtetszett és azt az oldalt megmentettem a felhasználástól. Aztán megvettem Donald Alcock: Ismerd meg a Basic nyelvet c. művét. Azt hiszem, még megvan valahol a régi cuccok közt.

Akkorban még némely napilap is hozott le elemi programozási ismereteket, mert "menő" volt.

Azért, '86 körül már 20ezerért be lehetett csempészni Bécsből. Már akinek, persze. ;)

~1000.- DM volt akkoriban 1541-el (+1 game: Ghosts 'n Goblins)
Ez akkor kb egy kis-polszki ara volt.

Az első programjaimat C64-re írtam a nyolcvanas évek közepétől kezdve. Akkoriban a C64 volt a szegényebb cégek ügyviteli számítógépe.
Ezek a programok mezőgazdasági TSZ-ekben (kettőben) az erő és munkagépek költségeit gyűjtötték illetve teljesítményük alapján elosztották a költséget az egyes munkákra. Így tudták meg, hogy mennyibe kerül pl. egy tonna búza megtermelése vagy 1 liter tej előállítása.
De nem mondanám, hogy azóta programozó vagyok, mert időnként írok ugyan programot, de van úgy hogy évekig meg nem.
--
Tertilla; Tisztelem a botladozó embert és nem rokonszenvezem a tökéletessel! Hagyd már abba!; DropBox

1981-ben került hozzánk egy ZX81 a külföldi rokonok révén, azon kezdtem programozni, bár inkább próbálni programozni. De elérhető szoftver nem sok volt rá nálunk, így a szokásos 0 REM alá későbbi POKE-kal pakoltam be a papíron kézzel írt kódot, ami nem volt igazán gyors. Aztán volt Oric 1, az érdekes gép volt, ott inkább BASIC ment, majd Atari 800XL, amire sok mindent írtam, többek között az első pénzes programom egy költségvetés készítő formájában. Aztán rakat törés, meg kazettás programot lemezről futtató loader. Ja, meg mintavevő a joystick porton és aztán a minta lejátszója. Atari ST-n GFABasic és Assembly, aztán jött a PC, ott Assembly és C, később sok más nyelv ami elém került. Közben azért volt nálam próbálgatni C64, Amiga, Spectrum és Enterprise. De ott nem programoztam, csak néztem mit tudnak.

meg eszembe jutott, hogy diebel dietrich nevű embernek, lehet rosszul emlékszem a nevére, voltak apple ii bemutató előadásai a bem rakparton és szájtátva néztük mit tud a gép, miközben tört németes magyarsággal kommentálta. sublogic fligh simulator is volt emlékeim szerint.


"I'd rather be hated for who I am, than loved for who I am not."

95-96 kornyeken (12 evesen) irtam elso programomat. BASIC-ben, a matek tanarnotol kapott kezikonyv alapjan, mikor az altalanos iskola ahova jartam kapott "ajandekba" egy 086-ost.

Én kb. 1988-ban az iskolai könyvtárosnénitől tanultam C16-on és Plus/4-en... Nyugalmazott tanárként könyvtároskodott még, és a trendeket figyelve rájött hogy az IT a jövő, szóval nyugdíjasként is megtanulta a programozás alapjait (full gigarespect), és saját szakállra tanfolyamot indított alsósoknak délutánonként, mert amúgy a kutya sem tudta mit kezdjen az iskola az iskolaszámítógép program keretében beszerzett C= gépekkel. Később lett otthon C64, amin neki köszönhetően előbb írtam programot mint játszottam volna rajta. In fact, legelőször a saját magam által írt "játékkal" játszottam rajta. (Szókitalálós/kvíz...)

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

'86 körül írtam az első programomat BASIC-ben C64-re. Egy lövöldözős játék volt, hanggal, sprite ütközés kezeléssel.
Karakterek scrollozódtak lefelé, azokat kellett egy rakétával kerülgetni és kilőni.
'95-'96 körül már modemes adatátviteli programot írtam az akkori munkaadóm telephelyei között, C-ben, Linux alá.

Dettó BASIC, csak ez a C128-as CBM BASIC 7 volt. A pontos dátumra nem emlékszem, de valahogy '88 vége és '90 eleje közé tehető, mert öcsém már megvolt, az Amiga 500 meg még nem. A program egyébként kb. hello world szintű volt, semmi komoly.

Még úgy 12-13 éves koromban kezdtem el "játszásiból". Az infótanárnő (akit nagyon nem bírtam) férje volt amolyan rendszergazda és ő mutatott egy-két "fogást" VB-ben. Akkor tetszett meg a dolog, de internet hiányában (falu) sokáig nem jutottam szakirodalomhoz így elég nehezen ment a dolog.
Igazából keményen 2010-ben, az egyetem elején kezdtem el és azóta is nyomom az ipart (azóta ott is hagytam az egyetemet).

Halkan megjegyzem: Régen csak néhány egyetemen, illetve kutatóintézetben volt számítógép. A „pornép” azt sem tudta, hogy mi az a programozás, illetve mi az a számítógép. Így aki 1960 előtt már programozott, az 1960-ban legalább 20 éves lehetett. azaz most már legalább 78 éves. Mivel a HUP tagjai között nem lehet túl sok 78+ éves, így az első választási lehetőségre a hibahatár alatti számú szavazat várható. Tehát nem sok értelme van. Különösen annak fényében, hogy a linkelt cikk szerint a rekorder is csak 1966-ban kezdte a programozást.

Első találkozásom az IT iparral egy ODRA nevű lény volt a GATE számítástechnikai intézetében. A házifeladatomat gépeltem be (lyukasztottam), ami egy mátrix művelet volt FORTRAN-ban (kb 1981, az indexemből ki lehetne keresni).

> Sol omnibus lucet.

Soha nem dolgoztam programozóként, de általános iskola alsó tagozat óta foglalkozom programozással:
C64: BASIC - vagy valami olyasmi :)
286, 386, 486: BASIC, Turbo Pascal, C
Később: HTML, SQL, PHP, javaScript, Perl, (ba)sh,

Leginkább az üzemeltetéshez hasznos scriptek, és kisebb programok/webes alkalmazások.

--
zrubi.hu

Első BASIC program: 1992 (C64)

Első valamire (mások által) használt program: 1999 (central update rendszer redhat linuxhoz)

Első fizetett szoftver: 2000 (vmi weboldal), ami ügyfélnél is futott: 2002 (prepaid rendszer internet caféhoz)

Első 8 órás programozói állás: 2008

Utolsó programozást is tartalmazó munkaköri leírású állás eddig: 2012

Melyik számít? :)

Még 1991-ben írtam egy gépírás gyakorló programot dBaseIIIplus-ban. Persze csak hobbiból. Utána nagyon sokáig nem foglalkoztam programozással. Pár éve kezdtem Python-nal foglalkozni -persze csak hobbiból - , de egyelőre az objektumorientált programozás, meg a grafikus felület kifog rajtam.
Jó ideje egy helyben topogok, bár tegnap sikerült 2 dolgot is javítanom/fejlesztenem a programomon:

Sikerült megoldanom, hogy a Pythonnak mindegy legyen, hogy az import formátum .csv,.ods,.xls vagy .xlsx.

Kicsit átpofoztam a programom egy részét:
Ebből
datum = sor[2].split('-')
ev = int(datum[0])
ho = int(datum[1])
nap = int((datum[2]))
datum = dt.date(ev,ho,nap)

ezt csináltam

datum = dt.date(int(sor[2].split('-')[0]), int(sor[2].split('-')[1]), int((sor[2].split('-')[2])))

Így szerintem sokkal jobb, nincs egy rakás felesleges változó. Ez nekem már sikerélmény. Így se végleges, mert az eltérő dátumformátumok miatt még át kell írnom. Mi van, ha - helyett . a szeparátor.

dateutil parse es tarsai. Kiveve ha a kihivast keresed. ;)

Én hasonló problémát mostanság így oldottam meg:

import re
dateRegexp = re.search('^(\d\d\d\d)-(\d+)-(\d+)$', datum )
    if dateRegexp is not None:
        datumDate = date(int(dateRegexp.group(1)), int(dateRegexp.group(2)), int(dateRegexp.group(3)))
    else:
        print "Nem illeszkedő dátum formátum"

Ez kibővíthető akár több formátummal is.
Amúgy a Pythont én is mostanában kezdtem.

Jut eszembe a datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M") még jobb lehet.

https://pypi.python.org/pypi/dateparser

Ebbe már beletettek valakik nagyon sok óra munkát, hogy kvázi tökéletesre csiszolják - szerintem érdemes használni.

Igen, azt hiszem, hogy mostanában errefelé ezt úgy kell mondani, hogy fősodratú vagyok.

Köszönöm. :) Ez amolyan programozói flame. Mindig jön valaki aki tud jobbat. :D

Grafikus felülettel mi a gondod, hol akadtál el?

Úgy kb. mindennel.
- Nem mennek az osztályok.
- Nem megy a grafikus felület
- Nem megy a grafikus tervező
- Nem megy a grafikus felülethez a programrészeket hozzáadása
- Ja és persze Tkinter-ről váltanék WXPythonra
- Meg persze adatbázist is akarok, meg még egy csomó mindent akarok

Mindent egyszerre?

Első szavaim: perl -e 'print "Hello World!\n"'

Define: foglalkozni

Első programjaimat BASIC-ben írtam egy kölcsön kapott Primo nevű szörnyön valamikor 86-88 magasságában. Kézikönyv nem volt hozzá, de a könyvtárból lehetett kérvényezni BASIC-es könyveket. Sajnos a komolyabb memóriakezelés részek ezért totálisan használhatatlanok voltak, ez kicsit el is vette a kedvemet. Azért írtam rá játékokat saját szórakoztatásomra.

Aztán jött a C64, bár azon inkább csak játszottunk.
Első olyan programom, amit mások is használtak, azt egyetemista koromban írtam, az ELTE szerves kémiáján az ELISA readerek adataiból számolt fehérjekoncentrációt. Ez kb 96-98 környékén volt. (Félek, még azóta is használatban van a dolog...)
Biológus létemre mind a MSc mind a PhD munkáimhoz egy csomót kódoltam (evolúciós témák) főleg Perl-ben nyomultam. Ma főleg R, néha Python, de a minap pont egy FORTRAN kódrészlet került elém (na nem mintha olyan sokat tudtam volna kezdeni vele.)

Amúgy nem tartom magam programozónak, mert szerintem ahhoz többet kellene tudnom algoritmusokról, kódoptimalizációról, stb. Szerencsére az ügyfeleket ez nem nagyon érdekli, elég szépen fizetnek főleg R-es munkáért.

--
Csaba

troll: Kodoptimalizacio..? Mainapsag..? :DDD Hidd el, mar jobb vagy a "programozok" 90%-nal - te ugyanis ismered a szot. :DDD

hát látod, hogy te is bioinformatikusként írod le magad, az programozót jelent, aki biológiával foglalkozik.

--
GPLv3-as hozzászólás.

atari 2600-tal kezdődött nálam a vég. Köszönöm mindenkinek aki részt vett benne.

--
GPLv3-as hozzászólás.

1981-ben kaptam Ausztriából egy ZX81-et, imádtam. Volt valaki, aki segített átalakítani olyanra, hogy egy kapcsolóval lehetett választani mit bootoljon be az epromból: a gyári basic-et, vagy pedig közvetlenül assemblyben lehetett kódolni. Nagy ugrás volt a basic után a gépközelibb nyelv, talán akkor lett a sorsom véglegesen megpecsételve :) Aztán jött a C64, amihez képest már furcsa volt PL/1 nyelven lyukkártyán leadni futásra a jobokat :D De már akkoriban (198x) is jó buli volt RS/6000-n AIX-el próbálkozni. A jelenlegi MOM park helyén volt a MOM számítóközpontja, amiben nagyon modernnek számított az R20 (vagy R45?) gépezet, sok tapasztalatot szereztem ott ezekkel :)

--
http://eVIR.hu
Elektronikus Vállalatirányítási Információs Rendszer

Hát az R20 annyira nem lehetett modern akkoriban... utána kellene néznem, mikori darab, de az még bőven DOS-os volt, miközben a későbbi R22 már OS-t futtatott. R45 inkább, viszont olyat életemben nem láttam... :)
R57-et ugyan láttam, de dolgozni már nem kellett rajta, mert addigra már megszűnőben volt a cégünk. :(

Igen, igazad van. Az R20 volt a lyukkártyás régi, és az R45 pedig már a modern, monochrome zöld VT terminálos gépezet. De rég is volt már... :)

--
http://eVIR.hu
Elektronikus Vállalatirányítási Információs Rendszer

Tudom, mert azon kezdtem tanulni és akkor már ki tudja hány éve volt a sulinál, ahová eleve használtan került, ha jól tudom.
Tényleg nagyon rég volt... :(
Lyukkártya... szerettem, pláne a Soemtron(?) lyukasztók billentyűzetét, de most a hideg kiráz, hacsak rágondolok... programsoronként egy egész kártya, ha valamit elgépeltek, ha reader elszakította, ha... ha... és akkor várni egy-két napot, suliban hetet, mire lefuttatják...
És így írtam olyan backup programot R22-re, ami nagyságrenddel volt gyorsabb a gyári utility-knél.
Ha meggondolom, életem leghosszabb lyukkártyás programja volt Assembly-ben, nagyjából 8-10cm-es köteg kártya. Utána elvittek katonának és mire visszajöttem már kihalt a lyukkártya.
Bár így utólag visszagondolva, hajmeresztő marhaság volt... (mágnesszalagon 64K-s blokkmérettel írni... ha tudja még valaki, hogy ez mit jelentett az NDK és orosz "magnók" korában... - az oroszrulett kutya fasza volt ahhoz képest :D)

Idézet:
kedves trey!

sokszor olvasom a hup-ot, de nem szolok hozza, nem is regisztralktam. igazabol csak egy szem uzenetet akarnek eljuttatni, de ezert feleslegesnek tunik, hogy regisztraljak.

inkabb megkernelek ra, hogy ide:
https://hup.hu/szavazasok/20180214/miota_foglalkozol_programozassal

be tudnad-e linkelni ezt a wikipedia oldalt?
https://en.wikipedia.org/wiki/Donald_Knuth

mert vicces az eredeti felvetesben az 1960-as evek beli kezdok, amikor a ma is aktiv Knuth az 50-es evekben kezdte, sot, leven akademiai ember valojaban azota hivatasszeruen uzi is. :-)

koszonom:
Z B

--
trey @ gépház

off, regen talaltam valahol:

Donald E. Knuth egy könyvében (Structured Programming with Goto Statements) rávilágított arra, hogy a "goto" utasítás használata veszélyes, és ezért ezt kerülni kell.

Ugyanebben a könyvében azonban egy vicces történetet is közöl:
"1971-ben, az IFIP konferenciáján volt szerencsém összefutni a japán Dr. Eiichi Goto nevű úrral, aki tréfásan panaszkodott, hogy őt mindenki kerülni igyekszik."

/off

--
Any A.I. smart enough to pass a Turing test is smart enough to know to fail it. -Ian McDonald

Nem Dijkstra-val kevered?

Edgar Dijkstra: Go To Statement Considered Harmful

^
Ez a legendás goto témakörben.

--
trey @ gépház

igen, ezért tartom komolytalannak és meghaladottnak Knuthot is. A goto-t tudni kell kezelni és akkor kezes bárány lesz. Vagy mi, asmban is félni kell a JMP-től?
Mindegy is aki tudja csinálja, aki nem az tanítja.

--
GPLv3-as hozzászólás.

Hát igen, FORTRAN-ban macerás lett volna az élet a GOTO nélkül, meg assembly-ben is. BASIC (Sinclair) talán kibírta volna, de ugye a sebesség... :) COBOL-ban egyszer megpróbáltam, hát nem volt nagy élmény... Javaban és más, hasonló korú nyelvekben meg azt hiszem, már nincs egyáltalán...

Dijsktra úgy értette, hogy strukturált nyelvben ne használjon senki goto-t. Nyilván sorszámozós-lineáris BASIC-ben, meg ASM-ban muszáj ugrani, hogy legyenek elágazások, mert máshogy nem lehet kivitelezni. Strukturált nyelvben viszont mindig kiváltható if then else vagy case szerkezettel vagy valamilyen elöl-hátultesztelő ciklussal, vagy ezek kombinációjával, és sokkal átláthatóbb, bővíthetőbb lesz a kód. A goto-nak ilyen nyelvben mindig gányolás, és karbantarthatatlan spagettikód lesz a vége, azért nem ajánlott. Nem ismerem az ürgét, hogy a gyakorlatban mennyire tud programozni, de ebben mocskosul igaza van.


„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

Vannak esetek, amikor a goto a legegyszerűbb és a legátláthatóbb kódot adja (egyébként a break is egy goto).
Ebbe most ne menjünk bele, mert ezerszer kitárgyalt és IGAZÁN soha el nem döntött kérdés.

> Sol omnibus lucet.

goto, break, continue

Mindegyik tűzzel-vassal irtandó egyes struct. prog. nézetek szerint.

--
trey @ gépház

A break es continue eseten pontosan tudod, hogy hova fog ugrani, anelkul, hogy megkeresned a hozza tartozo labelt.

--
Any A.I. smart enough to pass a Turing test is smart enough to know to fail it. -Ian McDonald

Mellékéssen ezek scope szintű műveletek, addig a goto globális.

A 'C' 'ben a goto nem globális. A globális a longjmp.
Más nyelvekben nem tudom.

> Sol omnibus lucet.

Khhm. Az valami más. ;)
https://en.wikipedia.org/wiki/Setjmp.h
Inkább olyan cuccos, amivel fel lehet készíteni a programot, hogy adott esetben akárhova ugorjon. Azaz pl. egy exception miatt szükségessé váló goto/return megalapozása.
Csak a neve tükörfordíva zavaró.

Az egy jmp. Az más kérdés, hogy vissza kell állítani a taskállapotot, mert előre nem tudható, hogy honnan érkezünk vissza. A setjmp nem ugrik, hanem előkészít, illetve bizonyos értelemben ő maga az a címke, amire ugrunk. (Attól most vonatkoztassunk el, hogy a az ugrás indirekt, vagyis a címke egy globál címen van tárolva).

Ilyen szempontból a két utasítás neve tökéletes: a longjmp ugrik (bármilyen távolra a programon belül), a setjmp biztosítja az odaugróknak megfelelő programkörnyezetet (IP, stack).

Érdekességként megjegyzem, hogy még megszakításból (signal) is ki lehet ugrani, igaz erre más utasítás szolgál a megszakítások más veremtechnikája miatt.

> Sol omnibus lucet.

Igazad (is) van. :)
Nyelvspecifikus kontextusban valószínűleg a fordító rögtön dobja a hibát, ha ki akarsz ugrani a struktúrából. Sajnos nem tudtam arról leszokni, hogy mindent assembler szinten értelmezzek. Ha eltekintünk a C/C++ szabványos eszközeitől, akkor természetesen bármilyen goto elképzelhető. Viszont ekkor alá kell nyúlni a rendszernek és nem lesz hordozható.

A "goto==tilos" szabály nevetségesnek tűnik, ha tudod mi van belül. A híres struktúrált programozás kb. így néz ki:

f(X)
{
	if(X)
	{
		body
	}
}

Az implementáció - a "magasszintű nyelvek támogatása" miatt meg így:

[előkészítés1]
[előkészítés2]
(call) f(X)
[feltakarítás1]
...
f(X)
{
	[előkészítés]
	if(!X)
		goto exit
	body
exit:
	[feltakarítás]
}

A szögletes zárójelben levő tevékenységek nyelvi szinten rejtettek. A longjmp segítségével megúszod ezeknek a ismeretét és kezelését. Az 1 indexű elemek meg elhagyhatók az "isolated call" pragmával.
Hát ettől lassabb egy magasszintű nyelv és még lassabb, ha egy olyan mcu-t is C-ben kell programozni, amelyikben nincs univerzális stack, ezért szoftverből kell emulálni.

A goto szerencsére nem csak a hardver közeli esetekben hasznos, hanem egyszerű script nyelvekben is, amikor strukturált programozási paradigma a legcélszerűbb. Esetleg a nyelv nem is támogat egyéb paradigmát sem. :)
https://ttssh2.osdn.jp/manual/en/macro/command/goto.html

A fentiek szerint összerakhatsz egy "makrót" a for, while, case stb. utasításokra if+goto felhasználásával. Nem csak scriptben, de assemblerben is. Magasszintű nyelv esetén úgy is ugyanarra fordul.

Jó 20 éve teszteltünk C fordítót. Tetszőleges stílusban és utasításokkal megírt program majdnem ugyanarra fordult. A majdnem annyit jelent, hogy egyik esetben az R2 és R8 regisztert használta, míg a másikban az R5 és R7-et. Egy ilyen fordító tán megbirkózik egy-két goto feldolgozásával is. ;)

Így az új szabály: Ne használj goto-t, ha nem látod át amit csinálsz! Egyéb esetekben esetleg érthetőbb lesz tőle a kód.

Ha egymásba ágyazott ciklusok legbelsejében billen be egy bit, ami miatt hanyatt-homlok menekülni kell, akkor LEGGYORSABB és LEGÁTTEKINTHETŐBB egy goto. Pontsho írt nagyon szép példákat más esetekre egy direkt goto-s témában. Véleményem szerint a goto-nak helye és feladata van (nem véletlen, hogy meg tud maradni egyes nyelvekben), a tűzzel-vassal irtást eltúlzottnak tartom. Azt is mondhatnám, hogy aki szerint a goto-ra EGYÁLTALÁN nincs szükség, annak szegényes a fantáziája.

Egyébként én is szoktam nézni, mire fordul a C program és azt kell hogy mondjam, nagyon jó minőségű az assembly kód, ami keletkezik.

> Sol omnibus lucet.

A tuzzel-vassal irtas valoban tulzas.

Viszont amiket irsz: ha hiba miatt kell menekulni a duplan beagyazott ciklus kozepebol, akkor egy try-throw exception-catch lehet jobb. Ha csak siman megtalaltad, amit kerestel, akkor meg kiszervezed egy megfeleloen elnevezett fuggvenybe clean code stilusban (find_whatever(), ugyis inline fog fordulni overhead nelkul, ha csak 1x hasznalod), es return, amikor kesz vagy. Mindketto lehet alternativaja a gotonak.

--
Any A.I. smart enough to pass a Turing test is smart enough to know to fail it. -Ian McDonald

Jajj..! Exception as control structure... :DDD

"..ha hiba miatt.."

--
Any A.I. smart enough to pass a Turing test is smart enough to know to fail it. -Ian McDonald

Nagyon uniformizált itt minden.
Képzelj el egy programot, amiben van main, iterrupt, subroutine!
De nincs memória (stack).
Szerinem csak bizonyos esetekben lehet igazad. ;)

Ráadásul pont ebben a programban volt egy részlet, amelyet több szakember egybehangzó állítása szerint nem lehetett folyamatábrával leírni.

Jo, a mikrokontroller az mas allatfajta.
A csokkentett olvashatosagot valamennyire kompenzalja, hogy eleve nem tudsz igazan nagy programot irni, mert nem fer el benne. Szoval jo esetben kezelheto marad.
Tudsz esetleg linket arra a fejtorore?

--
Any A.I. smart enough to pass a Turing test is smart enough to know to fail it. -Ian McDonald

Az a "fejtörő" egy rövidke Z80 program, ami egy Thomson CD30 CD játszó kezelőpanejének a funkcióját veszi át. Mégpedig olyan módon, hogy
- egyik oldalán az optomechadeck soros szervó interfészén adja a parancsokat és veszi a státuszt, stb.
- a másik oldalán meg a főprocesszor adat-memóriájába/ból (amit mindenki csak DMA segítségével ér el) adja-veszi a fentieket és közben jelzi az állapotát is.

A rossz hír: a pszeudo folyamatábra valahol a palláson van. ;)
Maga a program itt van, de dokumentáció nélkül még én sem mondom meg mit csinál. Pedig én írtam 30 éve. ;)

Cserében kicsit halandzsázok. ;)
A két egyszerűnek tűnő táblázat legalább egyikében előre kódoltam a parancs hosszát, jellegét és azt, hogy kell e továbbítani, vagy le kell nyelni. Megszoktuk, hogy a folyamatábra mellé odakerül(nek) a végrehajtott utasítás(ok) is. Az előre kódolás miatt egy utasításhoz - ami nem is azt csinálta - egy részeg pók táncol a dobozokon -szerű ;) folyamatábra szakasz tartozott, és nem tudtam melléírni semmi értelmeset. Nyilvánvalóan, ha nem ragaszkodsz az utasításokhoz, akkor leírható folyamatábrával a működés logikája.

De nem ritka az ilyen. Pl. ebben a hozzászólásban: https://hup.hu/szavazasok/20180214/miota_foglalkozol_programozassal?comments_per_page=9999#comment-2198476
linkeltem egy logikai analizátort. A triggerelést párhuzamos hardver végzi. Nyilvánvalóan, ha értesz hozzá ki tudod tökölni, hogy a trigger fajta, a bemenetek és a hardver trigger áramkör és beállításai ismeretében mikor fog triggerelni a szerkezet. Hogy ne így kelljen megoldani, 3-4 képernyőnyi folyamatábrára "fordították le" a trigger esemény keletkezésének a feltételeit. Ettől kezdve a trigger beállítása a képernyőn látható folyamatábra darabok néhány elemények a yes/no/count/stb. beállításával megtörtént. A valóságba a hardver 1 órajel alatt hajtotta végre a több képernyős folyamatábrát.

Ugyanez történik egy RISC processzorban is. Még a szomszéd szobában ücsörög egy régen elavult POWER4+ processzoros gép. Ennek 8 párhuzamos végrehajtó egységéből legalább 6 minden órajelre működik. Megírsz egy C programot a folyamatábra szerint, aztán megnézheted az assembler listát, ami a "várható" végrehajtási sorrendet adja meg. A POWER5-től kezdve még érdekesebb a helyzet, mert a thread váltás átlapoltan történik. Bizonyára érdekes folyamatábra készülne az elvi és a valós működés alapján.

Ezzel csak egyetérteni tudok.
A "magasszintű nyelvek támogatása" miatt (lásd feljebb) még egy fícsör ment veszendőbe!
Assemblerben, ahol általában nincs stack előkészítés - így takarítás sincs, - az exit-re ugrás helyett sokkal gyorsabb és olvashatóbb, ha van pl. RZ (return if zero) utasítás. Ezt az utasítás csoport általában létezik az összes státusz bitre, csak a fejletteb processzorokból kiirtották. Hiszen magasszintű nyelven úgy sem tehetsz ilyet. ;)

Bár régen volt, de igen jól oldották meg a TurboPascal-ban (3) a hívások a kezelését. Mivel assemblerben optimalizált program volt (egészen a 7. verzióig), ahhoz már nem sokat lehetett hozzátenni.

Ha "arra jársz", érdemes megnézni az MPLAB C18 (8 bites PIC-hez készült) fordítójának a végeredményét. Sok esetben felesleges kódrészletek kerülnek az outputba, néha meg nem is működik. Viszont a sw stack kezelése kiváló! Miért ír fordítót az olyan, aki nem ért hozzá - gondolta Stirlitz. :-)

Tessék annak magyarázni, aki ezt terjeszti.

--
trey @ gépház

"egyébként a break is egy goto"

azért van különbség. aztán a fordító mivé alakítja már más kérdés. ilyen alapon a while-ban is van/lehet goto.


"I'd rather be hated for who I am, than loved for who I am not."

"ma is aktív"?
Nekem úgy rémlett meghalt, kb. Jobs-al egyidőben. De a wikipedia-s linken ennek nem látom nyomát.

Akkor most melyik az igaz?

Szerk.: Lehet, hogy anno bedőltem valami álhírnek? Elég sokáig álhírekben Bud Spencer halálával is szeretett viccelődni néhány idióta.

Nem foglalkozom programozással. Sosem foglalkoztam. A 80-as években amikor C+4-en tesóm programozott kb. megutáltatta velem az egészet, 2 perc után legszívesebben felvágtam volna az ereimet. Utána a 90-es évekig sok programozást nem is láttam de akkor sokszor túró paszkálban gányoltak előttem és néha nekem is kedvem lett volna belekontárkodni a dologba a gépteremben csak hogy hamarabb végezzen és ha eltűnt végre játszhassak. Az egyetemen kellett nekem is programoznom (tanulásnak nem nevezném, mert nem jártam be a gyakorlatra és a könyvet sem vettem kézbe és a vizsgára sem készültem) paszkálban de az is csak addig az ezredmásodpercig kötött le amíg a feladatot csináltam. Kb a víz is kivert tőle nemhogy a némber oktatótól (Benkő Tiborné személyesen). Nem "jött át" a "lelkesedése".

Sosem foglalkoztatott hogy programot írjak vagy hogy programozzak. Sosem tanultam így nem is tudom milyen az. Amit csinálok scriptelés címszóval nagyon de nagyon messze áll attól amit programozásnak tartok. Az esetek többségében kikötök az örök kedvenc awk-nál. Többnyire oneliner de ha hosszabb is inkább gányolás célirányos funkciókkal semmint érdemi kód. Most már a 3. cégemet "szaggatom" ahol házon belüli fejlesztőket támogatok vagy a munkájukat támogatom. Barátok nem leszünk és nem is lettünk. Ők nem értik én és a customer mit szeretnénk, engem meg már nem érdekel hogy ők mit akarnak. Lapátolom a sz@rt a gány munkájuk után és hazudok a megrendelőnek hogy takargassam a nyilvánvalót. Azt hiszem van fogalmam mi a programozás és továbbra sem vonz. A kollegáktól látottak után végképp nem. Emellett taszít amit manapság ezen a címen tesznek. Minden ami körülötte hatalmas humbuggal és köddel jár. Nem kedvelem azt a sok introvertált, lelkileg/szellemileg sérült embert akik ebben a foglalkozásban magukra találtak. Nyilván ismerek kivételt de az a statisztikai hibahatáron belül van. Nem jó ha ők irányítanak és piedesztálra vannak emelve...

'90-ben saját számítógépet építettem 68010-es CPU-val, fél mega RAM-al, digitális, analóg I/O-kkal, 1 rétegű NYÁK-al. A NYÁK rajzot, a szintén saját tervezésű és építésű, egy Amiga printer portjával vezérelt plotterrel nyomtattam ki pauszpapírra. Ezért volt csak 1 rétegű a NYÁK (másik oldala pedig vezetékdzsungel).
Saját fejlesztésű, multitaszkos oprendszerkezdemény futott rajta (Freertos szerű). C-ben természetesen, Amiga-n fejlesztve.

Na, ezt übereljétek! ;)

Most éppen ipari routereket tervezek, programozok...

:D Konnyu lesz. :DDD

Epitettem nehany ttl/cmos aramkorbol egy 1 utasitasos (Ultimate RISC) CPU-t (az alu volt benne az egyetlen "okos" ic (unalmas lett volna hw implementalni - hasznaltam vmi gyarit)), 128k sram-mal, memoriaba agyazott io-val (oke, az rs232 illesztes is okoska volt). A trukk az volt meg benne, hogy aszinkron volt (orajel nelkuli), ugy falta a byte-okat, ahogy a ram, alu, io elengedte a buszt. :D

Majd fejlodott ra egy egyszeru forth, amit egy kuka soros terminallal lehetett idomitani. Nem volt ROM, a soros interfesz nyomta be az elso par byte-ot a memoriaba, ami a soroson at behuzta a minimal forth dict-et.

Szokatlanul jol mukodott, melegedett ugyan rendesen, de jo gyors is volt cserebe. ('97 nyaran)

Aztan vegul nem adtak be mint diplomamunka, mert nagyon kilogott volna a sorbol. :DDD

1978-ban kezdtem a TRS-80 lemásolásához, miután sikerült megszereznem lyukszalagon a Basic interpreterét. Fél éven belül működött, bár csak 4K memóriám volt.

menő
"valahol el kellett kezdeni" :)

9 éves voltam, mikor megírtam az első .bat fájlomat. Nem nevezhető programozásnak, de ez indított el az úton.

--
openSUSE 42.2 x86_64

/!gyenge szóvicc következik!/

Milyen úton indultál el? A Batman-né válásén?

Bocsánat, fáradt vagyok...

Jajjj... :D

--
openSUSE 42.2 x86_64

Még gyengébb szóvicc:

Batch please.

(Bocsbocsbocs...)

Addig batortalan voltal, nemde?

Vagy csak elkezdett denevéreket tartani :D