Most azon gondolkodom épp, hogy miért van ez a python hype. "Hát ez mindenre jó". Nemár, ne. Előbb egy nemtommi, de ez nem. Na csak kiadtam magamból. Nem tudok rokonszenvezni ezzel a nyelvvel. Ja és nem tudok "endzsülőr" fan se lenni. Szar alak vagyok mi?
- mgabor blogja
- A hozzászóláshoz be kell jelentkezni
- 1381 megtekintés
Hozzászólások
Oké.
- A hozzászóláshoz be kell jelentkezni
Divat. Nem kicsit. Egy qrva nagy előnye van: a más nyelveken trehány, összegányolt, olvashatatlan forráskódot produkáló "fejlesztők" rá vannak kényszerítve "szép" kód írására. Van, akinek ez kell - nekem Perl is megy úgy, hogy a perltidy csak minimálisan (vagy semennyire sem) nyúl a kódomhoz, ha ráeresztem kíváncsiságból...
- A hozzászóláshoz be kell jelentkezni
Van még kettő előnye: belépési pont, első sikerélmény. Az hogy később milyen szintig jut a szoftverfejlesztés mélységeiben sok Python-only fejlesztő, az más téma.
Sok ilyen dolog van, ahol az alacsony belépési pont miatt szinte kizárólagosságot kap:
Word vs LaTeX: http://www.pinteric.com/pic/miktex.gif
Python vs. Rust: https://blog.passfort.com/content/images/2018/06/graph.png
...
...
Vajon hol melyiknél lehet elérni hamarabb a "basic competency"-t? Melyiknél jön hamarabb az első sikerélmény?
Kb. erről szól a Python hype is. Tanítsunk meg sok embert valami könnyen kezdhető nyelven tákolni.
- A hozzászóláshoz be kell jelentkezni
na jó de erről szól, hogy sikerélmény és ennyi?
- A hozzászóláshoz be kell jelentkezni
Sikerélmény nélkül szar dolog bármit is csinálni.
"Normális ember már nem kommentel sehol." (c) Poli
- A hozzászóláshoz be kell jelentkezni
Nézzük másképpen: végy az életből válogatás nélkül 1000 problémát. Nézd meg, hogy eloszlásában milyen skill kell hozzá. Vélhetőleg kb. 950 probléma alap képességgel megoldható.
A maradék 50-ből 45 középszintű és van 5, amihez jó képességű programozók kellenek.
A hype az, hogy 950 egyszerűen kiszámolható probléma ne maradjon megoldatlan, mivel ma ennek a nagy része is megoldatlan.
- A hozzászóláshoz be kell jelentkezni
Egy kezdonek nagyon sokat tud hozzaadni.
- A hozzászóláshoz be kell jelentkezni
És az baj? Irigyled tőlük? Vagy csak rosszkedved van, és muszáj valamire haragudnod. Nem olyan régen volt itt arról szó, hogy mindenki azt és úgy "tákol", ahogy akar. Ha egy tákolt Python program "production" felhasználásra kerül, akkor azért ugyanúgy az átvevő is felelős. Hát, ha volt olyan hülye, hogy átvette...
Más. Sok matematikus, biológus, virológus használ Pythont, mert nem kell olyan "hülyeséggel" foglalkozniuk, mint típus meg public meg compiler meg stb. Ez őket nem érdekli, mert ők nem programfejlesztők. Ők csak az elképzeléseik alátámásztására "tákolgatnak" saját maguknak, ahogy az ember firkálgatni szokott egy papírlapra. És ha ez segít nekik a koronavírus ellenszerét megtalálni, akkor kit érdekel, hogy előtte mit firkálgattak.
Hype meg mindenhol és mindenhez van, mint ahogy vallási fanatikusok is. Van, aki ész nélkül rajong valamiért, más meg ugyanazt ész nélkül gyülöli. Miért? Mert ez a homo sapiens (csupa kis betűvel).
- A hozzászóláshoz be kell jelentkezni
Sikerélmény + az Excel+VBA takony legalább részleges visszaszorítása. Így jó? :)
BlackY
"Gyakran hasznos ugyanis, ha számlálni tudjuk, hányszor futott le már egy végtelenciklus." (haroldking)
- A hozzászóláshoz be kell jelentkezni
Egy nyelv sikere nagyban mulik azon, hogy mi minden erheto el hozza es pythonhoz egyre inkabb barmit meg lehet talalni. Szerintem ez a masik nagy elonye (amellett, hogy egy egyszeru scritp nyelv). Szerintem tok jo, hogy van egy ilyen kvazi standard script nyelv, amit barmilyen teruleten lehet hasznalni.
Neked mi bajod vele?
- A hozzászóláshoz be kell jelentkezni
Nomostan Perl-ben mindent meg lehet csinálni. Amit esetleg nem, azt meg lehet csinálni C-ben. Amit esetleg C-ben nem, azt meg lehet csinálni assembly-ben. Amit meg nem - azt nem lehet megcsinálni.
- A hozzászóláshoz be kell jelentkezni
Nem az a kerdes, persze, hogy meg lehet, de mennyire egyszeruen?
- A hozzászóláshoz be kell jelentkezni
mióta van python? 30 éve?
Régen értelmes ember futott ha meglátta, az meg hogy mapaság mi minden érhető el hozzá, az a hype-nak köszönhető
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
Tehat majdnem 30 evig csak ugy volt, aztan egyszercsak jott a hype?! Ezt mivel magyarazod?
- A hozzászóláshoz be kell jelentkezni
Azzal ami történt. Python hype azóta van, mióta a kutatók *NN hálózatokat kezdtek ebben építgetni (azt is azért, mert a kezdők ebben haladnak a legjobban, illetve van numpy). A machine learning pedig azóta is pörög.
Ha megnézed, 2016 előtt nem találsz olyan cikket hogy a python milyen f*sza, használja ezt mindenki, pedig a nyelvben aztán nem történt változás.
Illetve ami még segített rajta: a nodejs huszároknak kellett egy új nyelv :)
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Szóval már 2014 -ben is volt egy szűk kutatócsoport aki python-t használt az akkor még nem létező kvantumszámítógépek szimulációjára. De ezt egyébként mire is írtad?
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
Arra írtam, hogy 2014-ben már fizikusok is használták a Pythont, pedig mi nem arról vagyunk ismertek, hogy könnyen váltanánk a jól bevált Fortranról, azaz, hogy nem 2016 óta tart a hype.
- A hozzászóláshoz be kell jelentkezni
Python hype azóta van, mióta ..... azt is azért, mert a kezdők ebben haladnak a legjobban, illetve van numpy
Tehat a pythonban az a jo, hogy konnyu benne dolgozni (aka kezod ebben haladnak a legjobban) es vannak hozza csomagok. Erthetetlen ez a hype.
- A hozzászóláshoz be kell jelentkezni
Nem tudom..nyilván egyéni preferencia kérdése is, de a Python-t se kényelmes, se különösebben egyszerű nyelvnek nem tartom, pedig még tanfolyamot is elvégeztem belőle, hogy képes legyek használni. Azóta se nagyon kellett, szerencsére, de nem kedveltem meg jobban, őszintén szólva nem is látom miért tartják legtöbben olyan könnyű nyelvnek. Nem is ad(ott) kimondott sikerélményt. :)
- A hozzászóláshoz be kell jelentkezni
Te mit hasznalsz olyan scriptelesre amire masok pythont?
- A hozzászóláshoz be kell jelentkezni
Nem nagyon vannak olyan feladataim, amihez Python-t kene hasznalnom, igy kivaltanom sem szukseges, de, ha scriptelnem kell, bash-hez nyulok, illetve Python-ban szamolos/modellezos dolgaim voltak anno, ehhez ujabban Julia-t hasznalok (amit minden tekintetben kenyelmesebbnek es konnyebben tanulhatonak erzek).
- A hozzászóláshoz be kell jelentkezni
Nem talaltak meg fel olyasmit, ami mindenre jo lenne es mindenkinek tetszene. Ez nem baj, es ettol senki sem lesz szar alak, es a toolok/nyelvek se lesznek tole szarok.
- A hozzászóláshoz be kell jelentkezni
Hát én csatlakozom a topiknyitóhoz. Bevallom, nem tudok pythonul. Nekikezdtem talán kétszer is hogy megtanuljam, de olyan csontvelőig ható undor és csömör tört rám, hogy majdnem kémiai segítségre szorultam utána napokig (nyugtatók).
A problémám azzal van hogy egyszerűen nem bírom megszokni, hogy egy nyelvnél a forráskód KÜLALAKJA(!!!!!), gyakorlatilag a behúzások - a szintaxis szerves részét képezik!
Ez egyszerűen egy agyament faszság a szememben és jobban haragszom a kitalálójára ezért mint a systemd megalkotójára, pedig ha ezt mondom az nálam már igen nagy szó...
Persze nem lett volna baj ha csak arról szólna ez az egész hogy van egy ilyen nyelv, de __még_el_is_terjedt__!
Elképesztő! Döbbenetes!
És FERTELMES...
És még azt se értem mi a rákért. A világon semmi előnyét nem látom. Már amikor legelőször találkoztam vele, akkor is az volt a véleményem, ha nekem kell valami program, simán megírom C++ nyelven és kész. Nem hiszem hogy óriáskígyóul írva sok előnyöm lenne...
Később rájöttem, nekem még a C++ is bloatware, simán megírok akármit sima C nyelven is, és az még jobb is (gyorsabb egy picivel stb). Még ha OOP-related dolgokat akarok programozni, azt is emulálhatom sima C környezetben többnyire, csak egy picit gondolkodni kell hozzá. A C++ egyetlen feature-je amire nincs megoldás C alatt, az úgy tűnik a kivételkezelés, de annyi baj legyen, ha az kell megoldom másképp...
Bár lehet ha nagyon akarnám még az is menne. Nem vagyok benne teljesen biztos, de a longjmp talán segítene e téren...
Na de PYTHON?! Ne, ó, ne, énédesistenkém...!
Igazából perl-ben se tudok programozni, de azt legalább tisztelem. Előbb szánnám rá magam a perl megtanulására mint a pythonéra, az biztos is.
- A hozzászóláshoz be kell jelentkezni
" Előbb szánnám rá magam a perl megtanulására mint a pythonéra, az biztos is. " - És Perl-ben, ha jót akarsz (magadnak meg másoknak) ugyanúgy szép, olvashatókódot fogsz írni. Ez az egy dolog, amire "jó" a pájton:a terhány külalakot produkáló kódgányolókat rákényszeríti a "szép" forráskódra. (Az nekem nem érv, hogy pájtonban nem lehet ronda kódot írni - ugyanis lehet, nagyon is...)
- A hozzászóláshoz be kell jelentkezni
Biztosíthatlak róla, jóideje már magam is ügyelek az áttekinthető forráskódra.
Az más kérdés, az én „tördelési stílusom” vélhetőleg senkinek se tetszene közületek... Mindazonáltal az én számomra tökéletesen áttekinthető, világos, szép. És ez a lényeg elvégre a legfontosabb hogy én magam eligazodjak benne akár évek múltán is. Úgyse team-ben dolgozom...
Ha meg mégis elküldöm netán másnak, eresszen rá az ürge egy neki tetsző automatikus kódformázót, s az megoldja ezt a gondot.
Az azonban tudod egészen más hogy a programnyelv maga PARANCSOLJA MEG nekem, miként írjam! Ez a szememben olyan, mintha hálózsákban kéne versenyt futnom, vagy kényszerzubbonyban közösülni...
- A hozzászóláshoz be kell jelentkezni
Az más kérdés, az én „tördelési stílusom” vélhetőleg senkinek se tetszene közületek..
Az a gond, hogy a tordelesi stilus leginkabb akkor fontos, ha masokkal dolgozol egyutt. Akkor viszont mar sajnos gond, ha senki masnak nem "tetszik" valakinek a tordelesi stilusa.
- A hozzászóláshoz be kell jelentkezni
Arra meg minden értelmes nyelvhez van megfelelő formatter, amit a legtöbb verziókezelővel is össze lehet házasítani. De értelmes szabályokkal, értelmes keretek között teljesen korrekten működhet egy belső kódszabvány is, amiben azokat az alapelveket kell leírni, amit mindenki be tud és be fog tartani ahhoz, hogy a csapaton belül egységesenolvasható és kezelhető forráskód jöjjön létre. Írtam ilyen js-re, plsql-re, illetve volt csapat, ahol Perl-ben toltuk -ott a perltidy megfelelő paraméterezése volt a zsinórmérték.
Aki tud és akar szépen kódolni, az szabályok alapján is tud, akinek erre kényszerintézkedés kell, az meg inkább kapáljon.
- A hozzászóláshoz be kell jelentkezni
Valami komoly lelki problémák lehetnek ott, ahol egy programozási nyelv szintaxisa ilyen heves reakciókat (meg nyugtató szükségességét) vált ki. És a probléma nem a programozási nyelvben keresendő.
Az pedig, hogy a C számodra kézre áll, és jó munkaeszköz dícséretes. De ha mindenre az lenne a megoldás, akkor nem volna szükség a többi nyelvre :)
- A hozzászóláshoz be kell jelentkezni
De ha mindenre az lenne a megoldás, akkor nem volna szükség a többi nyelvre
Igazából én egészen komolyan hajlok arra a nézetre, hogy valóban nincs is semmi szükség a többi nyelvre... (kivéve az adott architektúrákra megvalósított hatékony assemblereket természetesen, már amennyiben as assembly külön programnyelvnek nevezhető. A szememben határeset. Oké, szigorúan véve programnyelv, elismerem, másrészt viszont mi most itt ennél magasabb szintű nyelvekről beszélünk).
Végülis C-ben plusz assemblyben valóban mindent meg lehet írni - sőt az assembly nem is szükséges az esetek 999 sőt több ezrelékében!
Én úgy vagyok vele ha 40 fok feletti a lázam, s érzem hogy képtelen vagyok komolyabb szellemi munkára de mégis gyorsan össze akarok csapni valamit (mondjuk mert muszáj, mert megígértem annak az aranyos kislánynak hogy gondoskodom a szilveszteri programjáról, az ígéret meg ugye köt, az adott szó úgy szép ha betartják stb), akkor mély szégyenpírral az orcámon de összedobom C++ nyelven.
Ha azonban egészséges vagyok, csakis a C ! Az mindenre jó. Ha mégse, van hozzá library. Ha még így se jó valamire, akkor nincs mese, muszáj assembly betétet írni a kritikus helyekre. Ebben az esetben azonban a python se segítene ki...
El tudom képzelni, hogy egy interpreter típusú programnyelv hasznos lehetne a C mellé, de eddig még nem találkoztam olyannal, ami jól van megcsinálva. A bash-t felejtsük el, viccnek is rossz (bár a pythonnál többre becsülöm - oké, lassabb, de ahova sebesség kell ott eleve a C az amiből elindulok...), a Perl... Nos, azt mint írtam nem tanultam még meg, de nézegettem azért tisztes távolból, és így első blikkre nekem nagyon szegényesnek tűnnek a vezérlési struktúrái! Talán jó lenne, ha ezen változtatnának...
Bevallom teljesen becsületesen, az interpreter alapú nyelveknél a legígéretesebbnek számomra a Forth tűnik. Nekem tetszik a stack-orientáltság... A baj csak az hogy itt meg az van (illetve nincs...!) hogy nem kezeli mindazt a sok numerikus típust amit a C igen. Ugye ilyen meg olyan hosszúságú egész, meg double, meg... szóval értitek, na!
Nyilván ezt azonban meg lehetne oldani valamiképp. Talán már létezxik is valahol ilyen Forth interpreter, csak én még nem tudok róla... Nagyon kérek mindenkit ha tudomása van ilyenről, ne hagyjon tudatlanságban engem!
- A hozzászóláshoz be kell jelentkezni
Jó, de mennyi idő alatt? A Python előnye sok esetben az, hogy nagyon gyorsan lehet benne valamit összedobni, úgy, hogy esetleg nem is vagy fejlesztő. Hány C kódsorodba, és mennyi idődbe tellene berántani egy adatsort egy hdf5 fileból, egy valamilyen paramétereket tartalmazó függvényt legkisebb négyzetek elve szerint illeszteni rá, majd az eredményt (adatpontokat és az illesztett görbét) postscript és pdf ábrán ábrázolni, TeX-ben megadott címkékkel?
Ráadásul ilyen jellegű feladatoknál nem biztos, hogy a C-ben összerakott programod gyorsabb lesz, mert neki fogsz állni mátrixszorzó, mátrixinvertáló, stb. függvényeket írni, a Python meg berántja a LAPACK-ot, amit erre a célra fejlesztenek vagy 30 éve, Fortranban, és alatta van az alapvető műveletekre a BLAS (basic linear algebra subroutines), az adott CPU-ra kihegyezve.
- A hozzászóláshoz be kell jelentkezni
postscript és pdf ábrán ábrázolni, TeX-ben megadott címkékkel
Ez azért egy rendes zűrzavar, amely jócskán túlmutat a derékszíjjal biztosított nadrágtartó esetén. :-D
- A hozzászóláshoz be kell jelentkezni
Ne keverjük össze a nyelv előnyeit a hozzá készült külső libek mennyiségéből fakadó előnyökkel... szerintem a fenti feladatokra simán vannak libek C alatt is, de ha mégsem, lehetne írni hozzá, s akkor onnantól már nem hiszem hogy sok különbség lenne a tulajdonképpeni főprogram megírásának időszükséglete közt a két nyelv esetén.
Talán kezdőknek a python akkor is gyorsabban menne valamivel, az lehet. Bevallom azonban, mindigis az volt a véleményem, nem okvetlenül jó dolog az ha sok pelenkás programozót engedünk produktív környezetbe. Nem hiszek benne hogy mindenkinek okvetlenül programozóvá kéne válnia, annak is, aki megijed az első nehézségektől, akinek még a C is nehéz... soha, értitek SOHA!!!! (igen, most kiabálok a nagybetűvel!) tehát soha nem értettem s ma se értem mi az ami a C nyelvben olyan szörnyű nehéz volna hogy a csapból is ez folyik lassan hogy a C az hű de milyen nehéz és nem való kezdőknek...
Szerintem kizárólag C nyelvet szabadna oktatni kezdőknek. Ha valakinek emiatt elmegy a kedve a programozástól, az csakis örvendetes mert az nem is való programozónak. Nem kell teleszemetelni a szakmát oda nem való illetőkkel.
- A hozzászóláshoz be kell jelentkezni
Szerintem kizárólag C nyelvet szabadna oktatni kezdőknek. Ha valakinek emiatt elmegy a kedve a programozástól, az csakis örvendetes mert az nem is való programozónak. Nem kell teleszemetelni a szakmát oda nem való illetőkkel.
Mondjuk azért megnézném, hogy egy komoly, mérvadó szakember mit mondana az általad C-ben írt programkódokról. Nem merült fel benned, hogy esetleg te is csak teleszemeteled a szakmát?
A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.
- A hozzászóláshoz be kell jelentkezni
Én tudok C nyelven programozni. És nem ám kezdő szinten hanem annál sokkal jobban. __Sokkal__ jobban, igen.
Azt nem érdemes belekeverni hogy milyen a tördelésem. Ezt leszarom, és megtehetem hogy leszarom, mert nem team-ben dolgozom. Ettől még a kód amit írok, nyilvánvalóan lehet jó. Nálam különben kábé minden warning be van kapcsolva fordításkor, de nem szoktam warning üzeneteket kapni amikor lefordul a kódom... Ha mégis kapok, nem hagyom annyiban hanem megnézem, mi a rákja, és kijavítom. Igen, még a „pedantic” csoportba esőeket is...
Természetesen én is voltam kezdő programozó, amikor még nem értettem ennyire a C nyelvhez, sőt amikor még egyáltalán semennyire se értettem hozzá. A lényeg azonban az, hogy van a programozói tudásnak egy szintje, ami alatt nem lenne szabad az emberkét elismerni programozónak, azaz komoly munkát végeztetni vele. Na és ha annak az emberkének az a véleménye hogy „fúj, a C túl nehéz” - nos, akkor neki nem való e szakma, mert még ha megtanulja is e „nehéz” C nyelvet majd valamennyire, de nem azon a szinten, hogy a kódja eléggé hatékony legyen. És hatékonyság alatt megintcsak nem a tördelést értem, ezt kiemelem, amire tök felesleges rácuppannod mert egy automatikus kódformázó adott esetben hip-hopp helyrerakja.
A gond nem a tördeléssel van tehát, hanem például azzal, mennyire képes átlátni, nagyjából mire fordul le az amit ő a forráskódba ír. Mikor érdemes pointereket használnia hogy ezzel sebességet növeljen. (vagy memóriát spóroljon...). Hogyan képes megtervezni az egyes függvények (vagy netán objektumok - ezek is megoldhatóak C-ben ha szépen megkérjük rá a nyelvet...) felelősségi körét. Miként ismeri ki magát a memóriaallokációs kérdéskörökben, tudja-e ügyesen használni a branchpredictiont, és még soká lehetne sorolni...
Igen, ez mind olyasmi amit egy a C-nél „magasabb” absztrakciós szinten álló programnyelv ügyesen elrejt a programozó elől, megkönnyítve ezzel a munkáját, de épp emiatt az a programozó aki azt a magasabb szintű nyelvet használja, pláne ha azt tanulja meg elsőként, az a programozó nem is fogja soha megtanulni ezen dolgokat, nem tud majd a „mélyrétegek szintjén” gondolkodni, így állandóan gányolni fog csak, legyintve hogy „majd a compiler úgyis kioptimalizálja”. Ami persze igaz is lehet egy darabig, de ha mégsem... És amikor megteszi akkor se biztos hogy tényleg a legjobban.
És aztán ebből születnek ugye az olyan programok, hogy:
—Hát nem működik.
—De nálam igen. Hány giga RAM van a gépedben?
—16.
—Ja, akkor ez a baj. Az én fejlesztői gépemben 64 giga van. Vegyél nagyobb gépet, ha használni akarod...
Ismerős sztori? Meg amikor beránt a progi magának egy fél gigás libet, azért, hogy annak egyetlenegy funkcióját használja, egy olyan apró kis valamit amit a lusta programozó megoldhatott volna 3 rövid kódsorral, ha GONDOLKODOTT VOLNA?!
De nem számít ugye, csak legyen készen hamar, akárhogy, mindegy, és teljék már le a munkaidő mert utálom az egész szakmát, a francba is, focizni akarok délután az öregdiákokkal a parkban...
Na az ilyen nem programozónak való. Szerintem. Az ilyeneket én úgy nevezem, hogy „kóder-tróger”.
- A hozzászóláshoz be kell jelentkezni
Több évig dolgoztam másokkal csak C nyelvű projekteken és azt tapasztaltam, hogy azok hozzák a legnagyobb memória leak-eket és egyéb súlyos hibákat, akik verik a mellüket, hogy mennyire tudnak C-ben programozni.
A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.
- A hozzászóláshoz be kell jelentkezni
Valamit félreértettél. Nem arról van szó, hogy valakinek nappofája van, oszt mégis hülye. ;)
Megfordítva, valaki nem attól lesz okos, hogy (állítólag vagy sem) tud C-ben programozni.
Szószátyár barátunk csak arra utalt, ha autót akarsz vezetni, akkor nem elég a három repülésszimulátor vizsga. Először meg kell tanulni hol az ajtó, az ülés meg a kormány! ;)
Példák:
Tényleg zseniális C programozó (lány, és tényleg több területen igen kemény szakember) jelentős időt eltöltve a probléma megoldásaval, sugárzó arccal kijelenti: Megoldva! Ha 256-os számrendszerben ábrázolja az adatokat, akkor el tudja tárolni egy bájtban.
Ugyanő. A (struktúrák) feldolgozáshoz 2 sor buffer kell. Az egyiket minden sor előtt, a másikat minden struktúra megkezdésekor allokálja, a végén felszabadítja. (Így aztán nem lesz memory leak!) ... Mind a 10M sorra.
Egy profi VAX szakember, SZÁMALK C tanár is. Teljesen biztos benne, hogy multitasking megvalósításához egyedül a VAX processzora a megfelelő.
Minden nyelven profi programozó kolléga (de C-ül nem tud) jó hetes küzdelem után örömmel közli, hogy sikerült bájt pontosan kiírnia C# programból ... egy szövegfájlt.
A másik kollégát lecseszem, hogy régi gépem van, de akkor is elfogadhatatlan, hogy közel egy perc alatt jelenik meg az 1 perces mérésről a grafikon. - Ennek a mérésnek nagyobb a mintavételi frekvenciája. - Tudom, én csinálom a mérést (kalkulátor - 1,44M mérés, 2,88M bátjt), ÉS? - Hát azt az 1,44M oszlopot ki kell rajzolnia a (C#) lib-nek, ami a továbbiakban a grafikont kezeli. - WTF? Az én képernyőm csak 1920 pixel széles, a grafikon meg a harmada!
Na itt látod "a C programozót". Az ő feladata csak a program kiegészítése volt, mégis tudja hogyan működik a lib, amit az előbbi kolléga választott és használ agy nélkül.
Tehát kiegészítem a tanmenetet:
- Tanulj meg gondolkozni!
- Tanulj C-ben programozni! (Esetleg assemblerben optimalizálni, de csak azért, hogy tudd mi az.)
- Tanuld meg, mi történik a gépen!
Ezek után már bármilyen programnyelvet választhatsz.
- A hozzászóláshoz be kell jelentkezni
Én tudok C nyelven programozni. És nem ám kezdő szinten hanem annál sokkal jobban. __Sokkal__ jobban, igen.
ehhez képest mégis szegény voltál magyarországon a saját állításod szerint és angolul sem tudsz. vicces ellentmondások.
- A hozzászóláshoz be kell jelentkezni
Elég sokan szegények voltak Orbanisztánban a válság idejében, ez nem az én speciális sajátosságom. Aztán meg nem látok szoros kapcsolatot aközt sem, ki mennyire tud programozni vagy akármi mást is, és hogy mennyire képes „eladni” magát a munkaerőpiacon, ami rengeteg egyéb tényező függvénye még a konkrét tudáson kívül is.
Ja, és ma már az angol se akkora gond...
- A hozzászóláshoz be kell jelentkezni
ha profi az átlag felett bőven sokkal többet tudó c mester lennél mint ahogy beállítottad akkor nem lett volna anyagi gondod itthon se. ehelyett te elmenekültél. ügyes.
- A hozzászóláshoz be kell jelentkezni
+1
Bár mostanában ugrott meg a fejlesztői fizetés, de jó tudással 5-6 évvel ezelőtt is lehetett br. 1M feletti fizetést elérni, amiből azért meg lehetett élni.
- A hozzászóláshoz be kell jelentkezni
Ez a te véleményed. De engem nem izgat, mi a te véleményed.
Mindenesetre úgy tűnik, elég sokan „elmenekültek” Orbanisztánból, még azok is menekülnek akik amúgy simán meg tudnának élni ott... Nézd csak meg a statisztikákat! Lassan nemhogy informatikusokból, és nemhogy „mesterekből” bármilyen szakmában, de még hülyékből is kifogytok...
Csak így tovább!
Ennek fényében az aki előbb lépett le nem okvetlenül azt bizonyította ezzel hogy élhetetlen balfék, hanem hogy több esze van mint annak aki később pattan meg, mert rájött hogy annak jobb aki előbb hagyja ott a Balkán legészakibb pöcegödrét...
Menekülés? Fogd fel így, ha óhajtod, nem izgat. Józan ember elmegy onnan ahol rosszul él, sőt onnan is ahol bár nem él rosszul, de nem olyan jól, mint ahol másutt menne neki.
Az én esetemben különben még ideológiai (ha tetszik politikai) megfontolások is közrejátszottak, de ezt nem akarom kirészletezni mert már így is túl off. És tényleg mellékes, mert anélkül is kimentem volna, legfeljebb talán egy-két évvel később, és abban se látnék semmi szégyenleteset.
Persze a nagy hungarista mélymagyarok most majd a fejemre olvassák milyen szégyentelen vagyok, hogy nekem „ott a hazám ahol jól élek”, és elhagytam ezt a lángoktól övezett kis országot melyet őseink haló pora szentel meg, és más egyéb efféle szentimentális lózungokat. Nem izgat, mondjátok csak.
- A hozzászóláshoz be kell jelentkezni
De engem nem izgat, mi a te véleményed.
Nem hiszek neked. Ha nem erdekelne, nem irtal volna 200 szot a temarol.
- A hozzászóláshoz be kell jelentkezni
Sok mindenre válaszolok, ami igazából nem érdekel, abban az esetben ha ugyanakkor jó alkalomnak tűnik az „önkifejezésre”, azaz egypár általam értékesnek tartott gondolat megosztására a nagyközönséggel... azaz, ilyenkor ehhez a válaszadást csak egyfajta ürügynek tartom.
Tudod, ez is olyan hogy „művészi mentalitás” és hasonlók... nem várom el hogy megértsd, mert ehhez az kéne hogy magad is művész legyél, vagy legalábbis műélvező, de magas fokon ám.
- A hozzászóláshoz be kell jelentkezni
Kezdő alatt minden kezdőt értesz, vagy csak azokat, akik a programozó szakmát szeretnék űzni?
A UNIX-fundamentumok köré épülő parancssoros eszközkészlet-világot is kiherélnéd? Vagy az még belefér, mert a kedvedre való?
:)
- A hozzászóláshoz be kell jelentkezni
Iskolákban mindenkinek C nyelvet taníttatnék mint kezdő nyelvet. Aki abból nem tud levizsgázni megfelelőképp (hogy mi lenne a vizsgakövetelmény azon lehetne vitatkozni de egyelőre szerintem felesleges) az egyszerűen nem kaphatna programozói diplomát, soha, sehol, semmiképp! Tehát nem is űzhetne programozói szakmát. Olyan nyelven se ami nem C.
Otthon, a szabad idejében, természetesen olyan programnyelven gányolhatna amilyen csak tetszik neki.
Nos, az UNIX parancssoros eszközkészlet-világ... hát az erős túlzás hogy kedvemre való lenne. Nyilván messze jobban szeretem mint a Windowst meg a DOS-t, hiszen nem az utóbbiakat használom... De hogy kedvemre való lenne? Úgy igazán? Azért ezzel még várjunk...
Amúgy különben valóban nem rossz, de a bash (meg zsh meg stb) olyan idiótaságokkal terhelt amit nehezen nyelek le. Végülis azonban nem kéne okvetlenül „kiherélni”, mert értelmes ember úgyse bash-ban rak össze kicsit is bonyolultabb alkalmazást. Nálam körülbelül az a szabály, hogy ha valamire kéne egy progi, és zsigeri érzésem azt súgja hogy ez bonyolultabb lenne bash-ban mint 5 sor és egyetlen for ciklus, akkor már automatikusan azt kezdem gépelni a szövegszerkesztőbe, hogy:
#include
mert tuti hogy C progi lesz belőle, és legalábbis az stdlib kelleni fog nekije...
Most persze mondhatod erre hogy én vagyok a bolond, semmi baj. Ahogy öregszem és látom merre tart egyre inkább az állítólag normálisokból álló többségi társadalom, az egész világ, bevallom, nincs is semmi kedvem közéjük tartozni és „normálisnak” lenni vagy akárcsak látszani...
- A hozzászóláshoz be kell jelentkezni
egyszerűen nem kaphatna programozói diplomát, soha, sehol, semmiképp! Tehát nem is űzhetne programozói szakmát
Nagyon keresem a ket mondat kozti osszefuggest, de nem talalom. Ahhoz, hogy valaki programozo legyen, nem diploma kell, hanem szamitogep.
- A hozzászóláshoz be kell jelentkezni
Jaaa...! Értem. Szóval nálatok a Microsoftnál az a céges policy vagy mi, hogy mindenki programozó, akinek van egy számítógépe! Eszerint elég mondjuk egy olcsó laptopot venni XIII. Átlag János többszörösen iszákos helyzetű segéd- és be(nem) tanított árokparti és elvonókúrai lakosnak, s ő máris programozói munkakört kap nálatok, hiszen megvan mindene ami kell hozzá, s beleturkálhat a Windows forráskódjába, mert miért is ne, hiszen ő programozó...
Világos. Oké. Kezd tisztulni a kép. Most már értem, miért olyan a Windows minősége, amilyen...
- A hozzászóláshoz be kell jelentkezni
Nem vagyok biztos benne, hogy jót tett az oldalnak az, hogy visszajöttél.
A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.
- A hozzászóláshoz be kell jelentkezni
Szóval nálatok a Microsoftnál az a céges policy vagy mi
Ki a faszom az a "nalunk"? Evek ota nem dolgozom ott, mi csipodott be neked ennyire? Menj at Redmondba, es dobald kovekkel az irodat, vagy mittudomen, de ne farassz mar a hulyesegeddel.
mindenki programozó, akinek van egy számítógépe
Nem mindenki baszdmeg, csak azt mondtam, hogy nem kell hozza diploma. Kezeltesd magad.
- A hozzászóláshoz be kell jelentkezni
Te szóltál hozzá a topikjaimhoz illetve a hozzászólásaimhoz többször is, meglehetősen gúnyosan nemegyszer. Most meg neked gurult el a gyógyszered, mert ironizáltam a gazdáiddal?
Ja, hogy te már nem dolgozol a $átánnál? Ki hinné...! Hm, én nem hiszem, mert azóta is gyakorta a Microsoftot véded rengeteg esetben itt a HUP-on. Szóval ha tényleg nem dolgozol ott akkor ezt ügyesen titkolod...
Nézd, ha ezt ennyire a szívedre vetted, én megértem és nem akarlak szekálni, de akkor ez csak úgy lehetséges ha távol tartod magadat a topikjaimtól. És ha más topikba írok, nem kommenteled a hozzászólásaimat.
Én nem bántalak, ha te se bántasz engem. Élni és élni hagyni, tudod...
- A hozzászóláshoz be kell jelentkezni
Szóval ha tényleg nem dolgozol ott akkor ezt ügyesen titkolod...
Jaja, roppant ugyesen titkoltam, meg blogoltam is rola. Az ember csak az epp aktualis munkahelyenek a termekeirol lehet jo velemennyel? Vagy mi?
Az meg, hogy neked valami nem tetszik egy cegben, az nem az en dolgom. Mondtam, buszozz el Redmondba, es dobald meg kovekkel az irodat, vagy hugyozz bele a kacsausztatoba, de ez a vergodes, amit muvelsz, ertelmetlen es kinos.
Nagyorgy legalabb megdobalta Ballmert, mert o tokos volt, te meg csak folytatod a vegtelen szofosast a Satanrol, meg mittudomen mirol.
- A hozzászóláshoz be kell jelentkezni
Hú milyen érzékeny pontodra tapintottam...
Pedig ezentúl mindig ezzel fogok jönni, drága barátom, valahányszor csak belém kötsz. Én még emlékszem, tudod, amikor írói munkásságomba kötöttél bele, holott ráadásul akkor és ott nem is az volt a téma egyáltalán. Nagy hiba volt...
- A hozzászóláshoz be kell jelentkezni
Jo, gyere. De csak roviden, ha megint olyan terjengos lesz, mint szokott, akkor ugysem fogom elolvasni. ;)
- A hozzászóláshoz be kell jelentkezni
ugysem fogom elolvasni.
Reménykedem benne, hogy e kijelentésed komoly és felelősségteljes ígéret volt...
- A hozzászóláshoz be kell jelentkezni
1. A programozást nem elméleti, hanem gyakorlati oldalról szemlélve, egy nyelv választásakor fontos szempont, hogy milyen a hozzá készült külső programkönyvtárak (vagy más módon megoldott, felhasználható programrészletek) minősége és mennyisége.
2. Ha az elméleti szempontokat nézed, akkor miért C? Azért, mert te azt szoktad meg, vagy azért mert a Unix-ot abban írták? Elméleti szempontból sokkal átgondoltabb nyelvek is vannak (az újabbak közül Pascal, a régebbiek közül az Algol 68, Algol 60). Ha az számít, hogy mindent tudjon, akkor ott a PL/1, ha pedig a változatlanság, hogy a régi kódokat lehessen használni, akkor a C az utcában sincs a FORTRAN-hoz képest.
3. A C-ben az a nehéz, hogy nincsen értelmes memóriakezelése, egyszerűen lemásolja a hardver címzését a pointerekkel, és van még benne valami stipistopi (malloc, de az már igazából library call). Nincs benne semmi, ami elősegítené a memóriafoglalási hibák elkerülését (smart pointer garbage collection, vagy legalább memóriafoglalás konstruktorban). Öreg hiba szürke zsíros masszára bízni olyan feladatokat, amiket szilíciummal is meg lehet oldani. A szürke zsíros massza jobban generál véletlenszámot ("kreativitás"), erősebben paralellizált, de sajnos a megbízhatósága gyenge.
4. A következő hiba, amit elkövetsz, az az, hogy feltételezed, hogy programot programozók írnak, pedig a számítógép normális használata a programozás, pl. számítások végzéséhez. Ilyenkor gyakran nem programozók programoznak (fizikusok, matematikusok, statisztikusok), és erre kell hatékony eszköz. Hatékonyabb annál, mintha programozóknak kellene elmagyarázni, hogy milyen matematikai módszert kódoljanak le, mert a nagy részük nem képes képletet olvasni. Itt igen nagy szerepe van a kód olvashatóságának, és bizony, az, hogy
A = B * C
sokkal olvashatóbb, mint az, hogy
int matrixmeret = 42;
double *a, *b, *c;
int i,j,k,l;
...
if(a) free a;
a = malloc( matrixmeret*matrixmeret*sizeof(double) );
for(i=0;i<matrixmeret;i++) for(k=0;k<matrixmeret;k++){
c[i*matrixmeret+k]=0;
for(j=0;j<matrixmeret;j++) c[i*matrixmeret+k] += a[i*matrixmeret+j] * b[j*matrixmeret+k];
}
...
- A hozzászóláshoz be kell jelentkezni
Számos dolog amit felhánytorgatsz a C nyelvnek, a szememben inkább előny.
Különben meg ha gyengeség is lenne, akkor is előny, olyan értelemben hogy épp ez késztet rá hogy megtanulj GONDOLKODNI a „gép eszével”! Ha neked kell egypárszor a malloc()-al memóriafoglalást megtrvezned, megírnod, stb, s elgondolkodni mondjuk olyan dolgokon hogy ha egy töömbre mutató pointert adsz át egy függvénynek, akkor ugye logikus hogy a tömbnek a memóriát a hívó függvény foglalja le hiszen ő is tölti fel adatokkal; azonban ezután a memória felszabadítása kinek a felelősségi köre legyen: a hívó függvényé vagy a meghívotté?! És így tovább... szóval ekkor később már egészen más szemmel nézed azon automatizmusokat amiket a magasabb szintű nyelvek művelnek, s amik egy kezdő számára teljesen természetesnek tűnnek.
És például tudod, hogy nem minden esetben kell végrehajtani bizonyos ellenőrzéseket amiket a hülye compiler biztonsági okokból automatikusan belerak...
Rengeteg példát lehetne sorolni ilyesmikre.
Igen, a C esetén a programozó teljesen magára van hagyva, nincs biztonsági öv! De épp ezért a legpompásabb tanulónyelv. Még ha el is fogadnám hogy valami másik nyelv jobb mert hatékonyabban lehet vele dolgozni, de TANULÓNYELVNEK akkor sincs jobb mint a C nyelv! (esetleg talán valamelyik assembly...?)
- A hozzászóláshoz be kell jelentkezni
És például tudod, hogy nem minden esetben kell végrehajtani bizonyos ellenőrzéseket amiket a hülye compiler biztonsági okokból automatikusan belerak...
Ez gyönyörű.
A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.
- A hozzászóláshoz be kell jelentkezni
Nem felhánytorgatom, hanem azt mondom, hogy a nyelvet az adott célra kell választani. A C bevált nem túl nagy méretű, rendszerközeli programok írására. Más feladatokra meg esetleg nem a C az optimális.
Az is egy kérdés, hogy amikor tanulónyelvet akarsz választani, akkor mit akarsz tanítani. Ha az algoritmusokat, vagy különböző problémák számítógépes megoldási módszereit (pl. numerikus matematikát), akkor a memóriafoglalás, felszabadítás, változók átadásának a módjai inkább zavaró tényezők, mint hogy az legyen a cél, hogy ezeket is megtanuld. Ha olyan programozót akarsz képezni, aki tud rendszert és compilert is írni, akkor meg lehet, hogy fontos. Az viszont még fontosabb, hogy egy programozó megértse, hogy ezt érdemes a gépre bízni, mert ha az emberre van bízva, akkor néha elfelejti. Mi mással magyarázod azt, hogy folyton találnak régóta fejlesztett programokban memóriaszivárgást, puffertúlírást, ha nem azzal? Ha azokat, akik ezeket írták, mind elküldöd kukoricát kapálni, akkor ki fogja helyettük megírni?
Azt pedig, hogy azért kell hardverközeli nyelven programozni, mert akkor a "hülye compiler" nem tesz bele dolgokat, amiktől lassabb lesz, egész egyszerűen nem igaz. Nem használnának ma már több, nagy számításidejű feladatra manapság C++-t, ha tényleg így lenne, de a gyakorlatban egy jó minőségű programkódból egy optimalizáló compiler olyan kódot csinál, amin kézzel javítani elég macerás (és akkor assemblerben kell, ismerve az adott CPU-t).
- A hozzászóláshoz be kell jelentkezni
Azt pedig, hogy azért kell hardverközeli nyelven programozni, mert akkor a "hülye compiler" nem tesz bele dolgokat, amiktől lassabb lesz, egész egyszerűen nem igaz. Nem használnának ma már több, nagy számításidejű feladatra manapság C++-t, ha tényleg így lenne,
Kényelemből használnak mindenre a mainstream programozók C++ -t, nem azért mert olyan juj de baromi jó.
Nézd, sokan tudják errefelé rólam, írtam egypár programnyelvet csak úgy a magam gyönyörűségére... És persze egyre jobbat akartam írni! Nos, eleinte C++ nyelven írtam őket mert miért ne, lustaság bennem is van. Egy idő után azonban beleütköztem homályos akadályokba: sehogyse lett a sebesség olyan jó, mint szerettem volna! Kutatni kezdtem mi az oka. Nos az a rengeteg sallang amit a C++ beletesz, amíg az osztályokat és objektumokat adminisztrálja... s aminek a jelentős része bizony-bizony felesleges! (legalábbis az adott esetben az volt).
Áttértem hogy C nyelven írom meg az interpreteremet. Hohó, szinte megtáltosodott minden!
Én nem tagadom ennek ellenére se, akad a C++ nyelvnek néhány előnye. Teljesen felesleges azonban ezt az OOP szemléletet erőltetni mindenre, csak azért mert most épp ez az aktuális buzzword.
- A hozzászóláshoz be kell jelentkezni
írtam egypár programnyelvet csak úgy a magam gyönyörűségére
Dennis, a komisz
A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.
- A hozzászóláshoz be kell jelentkezni
Nem, kényelemből nem használnak C++-t, mert nem kényelmes. Kényelemből Python-t, Java-t, C#-ot használnak. C++-t akkor használnak, ha egy fordított, multiparadigm nyelv kell.
Az, hogy írtál pár interpretert, az nem jelenti azt, hogy nem lehet C++-ban jót írni. Vannak C++-ban írt, és gyors interpreterek és compilerek, pl. a LISP-ek közül a CSL (Codemist Standard Lisp) nem számít lassúnak, pedig az újabb változatai C++-ban vannak. Lehet, hogy C++ban nem voltál elég profi, lehet, hogy rég volt, és még nem voltak elég jók a C++compilerek. Azt nem mondhatod, hogy amit megírsz C++ban, nem lehet megírni Cben is, mert a) van C++ -> C translator, b) te is át tudod írni. Innentől az egy technikai kérdés, hogy le tudod-e fordítani optimálisan, hogy mit hagy benne a compiler az objektumokból. Mikor, milyen compilerrel, milyen opciókkal próbáltad?
De nagy számításigényű feladatokra nemcsak ott nem C-t használnak, ahol a programnyelvet maguk a programozók választják ki kényelemből, hanem ott sem, ahol eldöntötték előre helyettük. Pl. a CERN az LHC adatainak a kiértékeléséhez FORTRAN-ról (amit régebben használt) nem Cre, hanem C++ra váltott (és azért váltott, mert késett a FORTRAN 8x szabvány, ami végül a Fortran 90 lett), vagy C++ban van a Cactus toolkit (általános relativitáselmélet numerikus megoldása) vagy a CHOMBO egy része (Fortran-nal kombinálva) (ezt pl. hidrodinamikai számításokhoz használják). Ha ezt tudja a C++ úgy, hogy ne maradjanak le mások mögött, akik jobban kihasználják a hardvert, akkor lehet benne gyors kódot írni. Ez valószínűleg nem mindig volt így, mert a C++ első 10 évében nem olyan sokan használták ilyen feladatokra.
- A hozzászóláshoz be kell jelentkezni
Ne keverjük össze a nyelv előnyeit a hozzá készült külső libek mennyiségéből fakadó előnyökkel...
Ne viccelj! Ez ma az egyik legfontosabb dolog! Kit erdekel egy nyelv ami ugyan nagyon szep, de "semmit sem lehet benne csinalni"?!? (Az idezojelek azert, mert persze implementalhatsz magadnak mindent, de ha szerinted ez egy hatekony modszer, akkor valami masrol kell eloszor beszelnunk.)
- A hozzászóláshoz be kell jelentkezni
Szerintem itt befejezhetjük a vitát mert e ponton nyilvánvalóvá vált hogy teljesen eltérő a szemléletünk.
A nyelv ugyanis a szememben semmi esetre sem azonos a hozzá készült libekkel, de még csak e libek nem is részei a nyelvnek a szememben. Amikor tehát a nyelv előnyeiről vagy hátrányairól beszélek, én olyasmiket értek alatta hogy például kell-e benne sorszámozni a sorokat mint egyes régi BASIC implementációkban; hogy milyen mondjuk a "for" ciklus szintaktikája; létezik-e benne 3 ágú elágazás; van-e benne egyáltalán "goto"; a függványek egyetlen visszatérési értéket adhatnak-e vissza vagy többet is; lehet-e függvény is visszatérési érték; van-e benne kivételkezelés; kell-e előre deklarálni a változókat; milyen egyszerű típusokat ismer a nyelv; lehet-e benne OOP programokat írni; és még sok mást.
Az azonban hogy EDDIG MENNYI programot írtak már azon a nyelven (a lib is egy program ugye!) az a szememben abszolúte a nyelven kívüli kérdés, ezért nem része a szememben annak a kérdéskörnek ami az előnye/hátránya kategória alatt értendő.
Ha te ezt mégis bele akarod keverni, abban én nem leszek a számodra partner, mert a tárgytól való nagyon durva eltérésnek érzem. És kívül is esik az érdeklődési körömön.
Ezt nem haragból írom azonban. Ám én tényleg így elméleti oldalról közelítek a témához, te azonban - megengedem - gyakorlatiasan. Oké, megteheted, de ez nem az az út ami engem érdekel.
- A hozzászóláshoz be kell jelentkezni
A lib nem program, nem futtatható. Csak kód, akarom mondani lib.
Az iparban pedig az egyik legfontosabb szempont a jó libek mennyisége, elkerülendő a not invented here szindrómát.
- A hozzászóláshoz be kell jelentkezni
A lib igenis program. Mert mi más is lenne, vajas kenyér talán?!
Az igaz hogy önmagában nem futtatható, mert „be kell tölteni” stb, meg általában véve egy libben több program is van, azaz nevezheted programok gyűjteménynek is... de attól még program. Persze beleköthetsz olyasmibe hogy „de akkorsenem programok hanem függvények gyűjteménye” és így tovább, de nem értem mire ez a szőrszálhasogatás. Olvasd el újra amit fentebb írtam kérlek, figyelmesen, s lásd be, ez mind tök lényegtelen annak fényében amiről én beszélek: hogy a lib nem a programnyelv szerves része, nem ő határozza meg a nyelv minőségét!
- A hozzászóláshoz be kell jelentkezni
Valamilyen szinten viszont az is szőrszálhasogatás, hogy a lib a nyelv része-e, nem? Nem mindegy, hogy a nyelvben van-e valamilyen függvény (utasítás, szubrutin, az adott nyelv terminológiája szerint), vagy pedig, hogy van hozzá egy standard szubrutinkönyvtár? Ami a nyelv része, valószínűleg annak egy része is szubrutinkönyvtárként van implementálva.
- A hozzászóláshoz be kell jelentkezni
Nem, nem, határozottan nem! Úgy értem, ezen elmélkedni szerintem nem szőrszálhasogatás. Azért nem az, mert nem értem miért óhajtod (vagy óhajtja más) összekeverni azt a két teljesen eltérő koncepciót, amit talán úgy fogalmazhatnék meg a legjobban, hogy "az eszköz maga", illetve "az eszközhöz gyártott kiegészítők".
Az elmaradhatatlan autós hasonlattal élve: A programnyelv a szememben az autó. A hzzá készült mindenféle libek pedig az autóhoz kapcsolható utánfutók, vagy a hozzá készült téli gumi, netán még lánctalp is.
Én elismerem hogy mindez megnövelheti egy autó használhatóságát, de akkor is csak kisegítő cuccok, kiegészítők. Nem ők „AZ” autó!
Én amikor egy autó minőségéről elmélkedek (elmélkedNÉK, mert nem szoktam, amúgy engem nem érdekelnek az autók) akkor olyasmire gondolnék, milyen erős motor van benne; hány „sebességes”, hány másodperc alatt gyorsul fel 100 km/h -ra, hány személyes, mekkora a belső utastere, sőt, hogy netán kétéltű jármű-e mint egyes csodaautók bizonyos filmekben, amit mondjuk a főgonosz belelök a tóba, de akkor a csodakocsiból hátul kibújik egy propeller és vígan tovaúszik...
Az teljesen irreleváns lenne a szememben hogy ehhez a kocsihoz lehet kapni a boltban türkizkék zománcfestéket is, vagy hogy 456 különféle utánfutó is kapható hozzá.
Visszatérve a programnyelvekre: Engem igenis olyasmik érdekelnek egy programnyelv kapcsán, hogy milyen vezérlési szerkezetekkel bír; hogy RPN szintaxisú-e; van-e benne operator overloading; és így tovább!
Nyilván azt elvárom hogy lehessen hozzá libeket írni, mert e lehetőség már a nyelv része (már ha a része ugye). Ha nem lehetne, olyan volna mint a kocsi amihez nem is lehet utánfutót kapcsolni. Hogy azonban hány lib VAN MÁR KÉSZEN hozzá, az bár érdekes lehet, de a szememben nem a nyelv része.
Gyakorlati értelemben persze tekintheted a nyelv részének, ha mindent a használhatóság oldalából vizsgálsz. Elméleti értelemben azonban nem a nyelv része. Ráadásul akadnak szerintem feature-ok amiket talán még elméletileg se lehetne megvalósítani külső libekben, utólag. Olyasmikre gondolok, amik a forráskód szintaktikai elemzése közben kell eldőljenek. Ilyen funkciók megvalósításához tényleg a nyelv „mélyrétegeibe” kell beleturkálni, és UTÓLAG egy puszta külső lib megírásával nemigen hiszem hogy pótolhatók. (Hacsak eleve magát a nyelvet kezdettől nem úgy tervezték hogy ez is lehetséges legyen).
- A hozzászóláshoz be kell jelentkezni
Azt elfogadom, hogy fontos, hogy bizonyos dolgokat meg lehet-e csinálni az adott nyelvben (operator overloading, kifejezés-kiértékelés vs. RPN, hasonlók). De más dolgokban nincs különbség: baromira mindegy, hogy a PL/1-nek része rengeteg minden (pl. adatbázis-kezeléshez szükséges dolgok), vagy a C-hez lib van (autós hasonlattal: ha a végén ugyanannyiba kerül, akkor baromira mindegy, hogy az "a" modellhez lehet rádiót kapni, a "b"-hez meg az alapmodell része). Esetleg számíthat, hogy a lib a szabvány kötelező része-e (ha nem csak 1 compilert használsz, 1 rendszeren).
- A hozzászóláshoz be kell jelentkezni
Nézd, én akkor se mondhatok mást mint hogy az én szempontjaim szerint - vagy fogalmazzunk úgy, az én ízlésem szerint - igenis az a nyelv része ami fixen bele van építve. Nekem ez a nézőpontom. Elfogadom hogy más esetleg másképp vélekedik erről, de nekem akkor is ilyen az ízlésem, számomra itt húzódik egy nyelv „határa”.
- A hozzászóláshoz be kell jelentkezni
Ha C-ben programozol, nem szoktad indentálni a blokkokat? C és Python forráskód szerkezetileg nézhet ki ugyanúgy, csak Pythonnál kevesebb lesz a kapcsos zárójel. Én azt tartom, hogy a kód megfelelő identálása alapvető fontosságú az áttekinthetőséghez, ezáltal azt, hogy a Python ezt már szintaxis szintjén megköveteli, nem érzem egyáltalán tehernek.
- A hozzászóláshoz be kell jelentkezni
C-ben a struktúrában beljebb/kintebb mozfatni valamit két kapcsols zárójel. Python-ban meg nem. C-kódot "szépre" (szabálybázisra alapulóan) formázni egy jól irányzott formatter tppl, ami tótzicsi, hogy ugyanazokat a formai követelményeket fogja ráhúzni az egyik kódra, amit a másikra.
A megköveteli az egy dolog, nemgond, de az, hogy jelentéssel bír, az viszont elég gáz. A pájton az a whitespace nyelv egy speciális változata, némi szöveges kiegészítéssel :-)
- A hozzászóláshoz be kell jelentkezni
hogy jelentéssel bír, az viszont elég gáz
Miért az? Személyes érzelmeken túl persze.
- A hozzászóláshoz be kell jelentkezni
Van egy n. szinten lévő programrészleted, amit ideiglenesen "beljebb" kéne raknod. Ez pájtonban mókolást igényel, más, értelmes sztruktúrahatárolót használó nyelvekben meg nem annyira. Fix méretű betűkkel kell a legutolsó példát is nyomtatni, mert egyébként értelmezhetetlen lesz. Elég egyzser olyan editorba berakni, majd menteni, ami az n darab space-t tab-ra cseréli, máris jön a hibás működés. Egy hosszabb nyomtatott kódon kifejezetten "kényelmesen" el lehet igazodni - ja, pont nem.
- A hozzászóláshoz be kell jelentkezni
Egy hosszabb, nyomtatott kódon pont a behúzással tudsz eligazodni más programnyelvekben is. Ha ideiglenesen beljebb kell raknod egy kódrészt, akkor a formázás miatt más nyelvekben is beljebb fog kerülni, amit mindkét esetben az editor fog elvégezni és nem te. Más hosszú kódok sem olvashatóak jól, amennyiben nem fix szélességű a betűtípus, de miért ne lenne az? Tudtommal a Python értelmező kezeli azt, ha a szóközöket menet közben tabulátorra cserélik.
Szóval mit is szerettél volna mondani?
A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.
- A hozzászóláshoz be kell jelentkezni
" Egy hosszabb, nyomtatott kódon pont a behúzással tudsz eligazodni más programnyelvekben is." Meg azzal,hogy látom, hol az eleje meg a vége akkor is, ha nem csak whitespace-ek mutatják.
"Ha ideiglenesen beljebb kell raknod egy kódrészt, akkor a formázás miatt más nyelvekben is beljebb fog kerülni, amit mindkét esetben az editor fog elvégezni és nem te. " - Ha olyan editort használsz, ami... Perl/C/C++/satöbbi nyelvekre van formatter, beledobod a szerkezet módosítását, rányomod a formattert, és megoldva - szépre. Akár egy fordítás/build erjéig is. Ha akarod. Ha nem, akkor buildeled/futtatod ronda alakban, és ennyi. Ja, és ha átviszed a kódodat oylan helyre,a hol más formázási elvárások vannak (behúzások mélysége, és hasonlók), akkor python esetében vagy meg tudod reszeltetni az editorral, vagy sem. Egy szabadon formázható forráskódot meg szépen áttolsz a megfelelő formatteren, és máris az új igényeknek megfelelőne néz ki.
És azt se felejtsük el, hogy egy véletlen elütés már megváltoztatja a program szerkezetét. Ott, ahol a szerkezet szintjeit nyitó és záró karakterrel kell jelezni,ott egy iylen karakter önmagában hibás forráskódot eredményez, azaz egy struktúramódosításhoz két, megfelelő karaktert kell bebökni a kódba. Ez utóbbi szerintem hibatűrőbb megoldás.
Saját sztori: agyonkommentezett yaml fájl, ami dettó whitespace-eket használ az egyes szintek közötti váltásra. A sok komment között n+sokadikra sikerült csak kiszúrni, hogy a kolléga a kikommentezett név-érték párost rossz szintre (nem megfelelő sámú szóközzel a sor elején...) rakta vissza. Ugye közel s távol nem volt nem komment sor, úgyhogy viszonyítani nem nagyon volt mihez...
- A hozzászóláshoz be kell jelentkezni
Szoktam indentálni C -ben is, igen. De ÚGY ahogy NEKEM tetszik, és ennél is fontosabb hogy én szeretem a szabadság mámorító érzését, azaz ne __kényszerítse__ rám a nyelv azt a stílust amit a tervezője tart szépnek, mert hadd döntsem már el én hogy mit akarok...
Semmi bajom nem lenne a pythonnal, ha valamiképp meg lehetne mondani neki a kód első sorában - mittudomén így - :
#pragma CSTYLE
hogy ne vegye fogyelembe a szóközöket meg tabulátorokat hanem a kapcsos zárójelek legyenek a blokkhatárolók vagy mittudomén hogy nevezik ezt abban a nyelvben de értitek remélem mire gondolok. Még az se zavarna ha a nyelv alapértelmezett viselkedése a mostani volna.
Amennyire azonban tudom, erre nincs lehetőség...
- A hozzászóláshoz be kell jelentkezni
Gondolom csapatban, másokkal együtt még sohasem dolgoztál.
A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.
- A hozzászóláshoz be kell jelentkezni
Ha rondán formázza a kódot magának, az az ő egyéni problémája, ugyanis vélhetően van annyi sütnivalója, hogy a ronda kódot a commit előtt egy automata formázón áttolja..
- A hozzászóláshoz be kell jelentkezni
Rakhatsz kapcsos zárójeleket, így:
if valami == 'ok': #{
print('Helló!')
#}
Viccet félretéve, valami vizuális visszajelzéses megoldás nem jöhet szóba? Tehát, hogy a $kedvenc_szerkesztő-d felismeri a kód blokkokat és a megfelelő helyekre berak egy-egy kapcsos zárójelet. Használok hasonlót CSS szerkesztésnél: felismeri, ha egy színt adok meg éppen és berak elé egy kis előnézeti körlapot, illetve rá is lehet kattintani ami behoz egy interaktív színválasztót. Biztos kódblokkokra is lehet hasonlót létrehozni.
- A hozzászóláshoz be kell jelentkezni
Nálunk most épp a C++-os bináris cucc fölé csinálunk REST API-s felületet, és pybind11-en keresztül kommunikálunk a processzel, és Robot framework-ön keresztül function tesztelünk.
Félelmetes gyorsan lehet benne megcsinálni a dolgokat, ha C++-ban raknánk össze ugyanezt a REST kliens-szervert, az összehasonlíthatatlanul tovább tartana.
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." John F. Woods
- A hozzászóláshoz be kell jelentkezni
úristen ne! olvasható és szép lesz a kód! ez rossz! fertelmes! undorító! gusztustalan!!!!!!!!!!!!!444444444444444444 te tényleg autista vagy.
- A hozzászóláshoz be kell jelentkezni
Ha igényes a programozó, akkor ilyen kényszer nélkül is tud szép, olvasható kódot alkotni. ha megnem, akkor az értelmes nyelvekhez van forráskódfromázó tool, amivel tényleg egységesre lehet "simogatni" a teljes fejlesztői team produktumát.
- A hozzászóláshoz be kell jelentkezni
"Igazából én egészen komolyan hajlok arra a nézetre, hogy valóban nincs is semmi szükség a többi nyelvre..."
Arra viszont vigyázz, hogy ne ess bele ebbe:
Akinek csak kalapácsa van, hajlamos mindent szögnek nézni.
Javaslom, hogy ismerj meg alaposan más programozási nyelveket is és rájössz, hogy beletolt munkaórákat (és későbbi költségeket) is számolva mikor nem C-ben érdemes nekiugrani a problémának.
Ötlet merítésre itt látható a Stackoverflow hype-lista: https://insights.stackoverflow.com/survey/2019#most-loved-dreaded-and-w…
- A hozzászóláshoz be kell jelentkezni
Elmagyazarom, mert hihetetlen, hogy ennyire sokan nem ertik.
A Python azert TERJED SIKERESEN, mert 15+ eve nem nyult a JOL OSSZERAKOTT tutorialjahoz, amiben PELDAKODOK vannak tl;dr helyett.
Mas nyelvvel nincs igy? Irjanak hozza jobb tutorialt. Olyat, mint a Pythone. Ennyi.
Soha nem lesz a Python kedvenc nyelvem. Sose az lesz a legjobb nyelv. Atlagban eleg gyenge minoseguek a kulso fuggvenykonyvtarak is. De egyvalamit biztosan allithatok: amikor nullarol kellett megtanulnom, annyira normalis tutorialt, mint a Pythone, SEHOL MASHOL nem lattam.
- A hozzászóláshoz be kell jelentkezni
Tippelem, hogy keveset jártál a CPAN-on, meg használtad a perldoc-ot :-P
- A hozzászóláshoz be kell jelentkezni
Python kiválóan alkalmas arra a feladatra, mikor egy eszköz API-t akarsz elérni, főleg cloudban, mikor nincs mód arra, hogy helyben fordítgass C kódot. èn se szerettem de rá kellett jönnöm, hogy alap feladatokra, mikor a business logic nem a te kódodban van, hanem az eszköz végzi azt el és te csak felhívogatod, kevés alkalmasabb nyelv van rá. Nem kell a típusokkal bajlódnod, pl. Futtatható lazán egy weboldalon keresztül is (lásd: cloudban), stb.
- A hozzászóláshoz be kell jelentkezni
Pájtonban elkövetett webes alkalmazáshoz Perl-ben írtam szűkített tudással bíró frontend-et, mert a pájtonos része irdatlanul zagyvalék volt - viszont a webes felülettel szépenlehetett json-ban beszélgetni :-)
- A hozzászóláshoz be kell jelentkezni
Helyette mi a jó? Taníts Mester!
A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.
- A hozzászóláshoz be kell jelentkezni
Le vagy maradva, barátom. Már a Rust és a Go a menő. Nomeg hát persze az örökzöld, a JavaScript.
A normálisan kódolni megtanulni képtelen (vagy lusta), kényelmes, trendbuzi babzsákfejlesztők és idealista menedzsereik számára nem csak az a fontos, hogy a bloated framework vagy scriptnyelv importált libjei/moduljai elvégezzék helyettük a piszkos munkát, hanem hogy mindeközben elmondhassák magukról, hogy ők bizony új™ technológiákat felhasználva innováltak™.
- A hozzászóláshoz be kell jelentkezni
Nincs lemaradva. Ha konkrétan megnézel statisztikákat, a python épp szárnyal. Persze a rust és go is trendi, de most nem trendiségről beszéltünk, a kettőt keverni meg hülyeség.
- A hozzászóláshoz be kell jelentkezni
Nem ugyanazokra a feladatokra. Mas a megcelzott reteg.
- A hozzászóláshoz be kell jelentkezni
És te melyikhez értesz ezek közül?
A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.
- A hozzászóláshoz be kell jelentkezni
Hiányoltam még a mondanivalódból, hogy a programozási nyelv nem azért van, hogy az a használójának jó legyen... C.. persze.. mindenre...
- A hozzászóláshoz be kell jelentkezni
Hype az új dolgokra van. A Python már rohadtul rég itt van, csak te nagyon le vagy maradva.
Attól, hogy valami népszerű, kapja a támogatást és egyre jobb lesz végül. Ez van a Pythonnal is. Összehasonlítva pl. a Perllel, megvan a maga szubkultúrája, de kevéssé támogatott harmadik fél által, nincs hozzá csillió API.
Szóval az a bajod, hogy egy nyelv népszerű. Irigylem a problémáidat.
- A hozzászóláshoz be kell jelentkezni
Hát hogy te mindent tudsz.... ez bámulatos!
- A hozzászóláshoz be kell jelentkezni
Mihez nincs Perl api, amit nagyon hiányolsz?
- A hozzászóláshoz be kell jelentkezni
pl Spark
- A hozzászóláshoz be kell jelentkezni
Hat azert van perlhez eleg sok minden :)
- A hozzászóláshoz be kell jelentkezni
És ami nincs, vagy nem lehet megírni Perl-ben, azt meg lehet írni C-ben... (satöbbi) :-D
- A hozzászóláshoz be kell jelentkezni
Olyan jó, hogy le lehet iratkozni a trackerben található tartalmakról!
A magyar ember jelképe a hátrafelé nyilazás. Vakon rohanunk a semmibe, miközben a múltunkat támadjuk.
- A hozzászóláshoz be kell jelentkezni