22
  • M2 #22
    Ebben az esetben a Swift-et nem ajánlanám.
  • kvp
    #21
    Programozas tanulasnal nagyon fontos a jo kornyezet kivalasztasa. En pl. anno kb. 8 evesen egyszerre tanultam az angolt es a programozast, mindezt egyedul, magyar nyelvu konyvekbol. (olvasni ugyebar mar tudtam, a szukseges alap matek meg ment) De nem windows alatt probalkoztam, hanem egy commodore 64-en es eloszor basic-ben.

    Milyen egy jo kezdo nyelv? Viszonylag egyszeru. Milyen egy jo kezdo kornyezet? Viszonylag egyszeru.

    A ket fenti feltetelnek mapansag pl. egy arduino felel meg leginkabb. Egyszeruen hasznalhato programnyelv (alapvetoen c akar lenni) es egyszeru hardver es szoftver kornyezet (arduino szoftver, atmel 8 bites mikrovezerlo). Az elso mellekelt peldak onnan indulnak, hogy hogyan villogtassunk egy ledet, ismerjunk fel egy lenyomott gombot vagy irjunk ki egy mondatot a soros konzolra. Az egesz alapvetoen gyerekeknek keszult, oktatasi celbol.

    Hasonloan egyszeru programnyelv linux es windows alatt egyarant a python. A kod formazasa nagyon mas filozofia mint c eseten, de eleg egyszeru egy kezdo programozonak es az alap funkciok eleg konnyen elerhetoek. Ennek ellenere nagyon sok MI kutatas hasznalja, tehat a felhasznalas felso vege eleg magasan van.

    Igazabol mindkettohoz csak az alap aritmetikat (osszeadas, kivonas, szorzas, osztas, maradek), logikat (es, vagy, nem), tovabba a relaciokat (kisebb, nagyobb, egyenlo, stb.) kell ismerni, ami elso ket eves altalanos iskolai osztalyos anyag volt anno. Ezek melle jon a felteteles vegrehajtas, azaz az a 'ha' es az erre epulo ismetlo ciklusok, amiket regen a 'mit csinal ez a gep' tipusu feladatokon keresztul tanitottak (lasd: bedobjuk ezt folul, mi jon ki alul). Ha valaki idaig eljutott, spagetti kodot mar tud irni. Kevesbe spagetti kodhoz kellenek a fuggvenyek is, ez meg ha jol nezem mindig masodikos tananyag es mar a strukturalt programozasnal jarunk. Egy 4. osztalyt befejezett tanulo kb. tud minden elmeletet alapszinten ami egy egyszeru program megirasahoz szukseges.

    Amiert az alapszintu programozas bonyolultnak tunik, az az, hogy bonyolult kornyezetek vannak, ahol egy hello vilag megirasa is tobb szaz sornyi kodot es mindenfele kattingatast igenyel. Idealis esetben pedig az elinditom, beirok egy sort a szerkesztobe es kesz is van a hello world program tipusu kornyezetek a jok kezdok szamara.

    A programozas elmelete is egyfajta nyelv, csak eppen a matematikai logika nyelve. Ez nem fugg az aktualis programnyelvtol, hanem egy altalanos, matematikai es logikai szimbolumokra epulo nyelv, amit ha ismer valaki, akkor az adott programnyelven valo megtanulas mar nagyjabol csak azt jelenti, hogy megnezi hogyan is hivjak aznap eppen a print parancsot. meg az ertekadast. A szukseges matematikai alap mar az okori gorogok idejen is iskolai anyag volt. Persze kesobb egyre bonyolultabb programokhoz, egyre bonyolultabb matematikai tudasra van szukseg, egeszen az egyetemi matek es algoritmuselmelet szintjeig (ami tovabbra is csak a matematika egyik aga). De alapvetoen nem akar az ember elso nekifutasra egy quake-et vagy egy windows-t irni.

    ps: A cikkben emlitett swift az elso ranezesre a c, az objective c, a python es a java keverekenek tunik. Biztos hasznalhato, de egyetlen gyarto termeke es nem annyira regi es elterjedt mint mas, nyiltabb nyelvek. (bar egy ideje ez is open source lett)
  • repvez
    #20
    akkor rosszul fogalmaztam, én windows alatt akarok valam i használható univerzális nyelvet, az apple és a mac ios nem érdekel egyáltalán.
  • M2 #19
    Paul Hudson oktató/bemutató anyagai szerintem nagyon jók, már az alapoktól is:

    https://www.youtube.com/playlist?list=PLuoeXyslFTuas6GrfsUiFPShGXmaVDbgN

    Windows alatt én soha nem állnék neki a Swift tanulásának, annyira nem a hazai pályája. Kell hozzá a macOS.
  • Tetsuo
    #18
    Egyébként az informatikának csak egy része a programozás. Attól, hogy valaki alapszinten ért egy programnyelvhez, nem kezeli jobban az Androidot meg az OBD-t.
    Ha nem találok egy szoftvert, nem kezdek el írni egyet, pedig én tanultam OO Javát "közepesen" meg C#-t alapszinten, weboldalt is készítettem (nagyon alap szinten), pont ezek miatt is tudom, hogy nem gyerekjáték, hanem profi szakember kell hozzá.
  • repvez
    #17
    DE windows alá mi van amivel könnyen lehet elsajátítani , hogy azt tudjak programozni amit akarok?
    ÉS , hol vannak ,hozzá olyan anyagok amivel egy abszolut zérp tudással is megtanulja az ember.
    A legtobb konyv ahogy irtam, még a beginner is olyan dolgokat emlit amiket csak az ért aki már programozott.
    A példaprogramok sincsenek elmagyarázva, hogy mi miért került bele a kodba vagy, hogy ha csak egy kis részt mutatnak meg a teljesbol, hogy azt hova kellene beilleszteni .
    vagy csak a szintaxis van leirva ,de nincs elmagyarázva, hogy mire használható.
  • repvez
    #16
    rosszul gondolod, mert nem azt mondja, hogy mindenki legyen programozo, de ha megtanul egy kicsit programozni vagy legalább a hasonlo gondolkodás modot, akkor sokkal könnyebben boldogul majd.
    Mert a pék is csinál mást mint kenyeret sut van szabadideje és intéznie kell a dolgait .
    Az informatikai rendszerek ismerete manapság kötelező, hogy tudd a pénzugyeid és minden burokráciás dolgod intézni.
    ÉS egy programozási kézség jol jön amikor nehéz de ésszerü dontéseket kell hoznod .

    A kocsik is már többnyire szoftveresen vannak vezérelve, nem mechanikus a legtobb bajuk, és egy OBD olvaso és program kell ,hogy egyáltalán kideritsd mi a baja mielött nekiesel. Elektromos kocsinál meg mégjobban elöjön ez.

    Ha meg csak a szabadidos elfoglaltágot nézzük ma már szinte mindenki használ okostelefont és biztos , hogy neked is van olyan dolog amire nem találtál programot vagy csak ha majd lesz egy olyan lakásod amit lehet távolrol is felugyelni akkor már is ott a lehetőség , hogy saját igényeid szerint vezéreld.

    Vagy ott vannak az arduino rasberryPI cuccok amivel szinte bármit meg tudsz csinálni, de programozás nélkül csak egy halom kacat.
  • M2 #15
    Ahonnan indulunk: angol nyelv ismerete, programozási alapismeretek (fogalmak, OOP szemlélet, alap programozási elemek).

    Swift gyors tempóban: 2 hétig, napi 12-14 óra, azzal kelsz, azzal fekszel.
    Swift lassú tempóban: fél évig, napi 1-2 óra, amikor van rá szabadidőd.

    Ez csak a programozási nyelv ismerete, aztán jön az XCode, az Apple specifikus API-k, a design és GUI építés SwiftUI és/vagy UIKit használatával. Ezek már több évnyi tanulást jelentenek.
  • Tetsuo
    #14
    Marhaság az egész. Egyrészt a világ nagyrészén élő emberek egy idegen nyelv megtanulása SOKKAL hasznosabb, mint egy programnyelv megtanulása, hiszen a többségnek nem anyanyelve az angol, aminek elsajátítása pedig sajnos a mai világban szinte létszükséglet. Egy ámerikainak mindenki angolul beszél, mert bárhova megy, mindenhol angolul beszélnek hozzá...
    Másrészt nem csak informatika van, azon túl is létezik világ meg egy csomó szakma, bár ezt sok infós nehezen érti meg.
    Tim Cook a fent körvonalazott korlátain nem tud túllépni, azért beszél sületlenségeket.

    Hiába tanul programozást egy pék, egy autószerelő, egy ács, egy ingatlanügynök, egy újságíró, egy filozófus stb. semmire nem megy vele, ellenben pár év után konkrétan nullát ért az addigi tudása, mert elvault (és elfelejtete).
    Persze, jól hangzik, hogy autószerelőként meg tudod buherálni a diagnosztika-szoftvereket, újságíróként saját weboldalt fejleszthetsz de a valóságban ezekre nincs szükséged.

    Ugyanakkor a zenetanulás, az úszás, a sakk (a jogosítvány stb.) például olyan dolgok, amik univerzálisan mindenkinek jól jönnek és az élet sok területén használhatók kvázi függetlenül a választott életúttól, de hogy a fenti összehasonlításnál maradjunk, kenyeret sütni, autót bütykölni, helyesen írni, filozófiákban elmélyedni mindenkinek javára válik. Sokkal nagyobb esélye van, hogy bár nem vagy pék, egyszer majd kenyeret vagy diós kiflit kell sütnöd, valamit javítanod kell a kocsin, mert az autószerelőd éppen nem ér rá, mint egyszer pont azt a programnyelvet kell majd használnod, amit éppen megtanultál.

    Kenyeret sütni és helyesen írni is könnyebb megtanulni, mint egy programnyelvet és a programozási módszereket. A legtöbb embernek nem áll rá az agya arra, hogy utasításokban, parancssorokban gondolkozzon, meg adatbázisokat lásson sok dimenzióban. A programozói hozzáállás, vagyis a kockaság egy adottság, amit nem lehet nagyon megtanulni. Az vagy van, vagy nincs. A legtöbb embernél nincs.
    Középszerűnél gyengébb programozók millióival meg mire menne egy társadalom? Vagy maga az egyén? Semmire.

  • zola2000
    #13
    Offtopic: én is kb így voltam vele. Innen az segített sokat nekem hogyha filmet néztem erőltettem az angol szinkront, először felirattal ma már az sem kell.
  • Lapajka
    #12
    Németes voltam úgy 30 éve, amikor elkezdtem IT-t tanulgatni, kb annyit tudtam angolul hogy load meg print... aztán ahogy a DOS, Windows majd Basic, Pascal, DBase és egyéb szoftverek környezetek, nyelvek, illetve játékok világában egyre otthonosabban mozogtam, na meg a hardver... azt vettem észre, hogy már hovatovább jobban tudok angolul, mint németül... persze még azért egy alapfokot sem biztos hogy letettem volna eme rámragadt tudásanyaggal, de már el tudtam beszélgetni angolul egy magyarul nem tudó emberrel és megértettük egymást jobbára... a németnek azért sokat köszönhetek, mert sok minden hasonlít többé-kevésbé... mai napig is egy-egy szó németül jut eszembe először és aztán az angol, egyfajta memóriafogasként működve... Mára a németet amúgy pocsékul beszélem, sőt nem is merném már kijelenteni hogy beszélem, max úgy ahogy kicsit még értem, angolt viszont tán megütöm a középfok szintjét, bár azért nem mernék egy vizsgának nekimenni. Viszont több év főiskolai angol nyelvoktatáson is túl vagyok, tán ez is emelte a szintem, de azért a jótól nagyon messze vagyok... a külföldön bárhol való elboldoguláshoz viszont elég bőven...
  • repvez
    #11
    A Swift (vagy bármilyen programozási nyelv) megtanulása lassú tempóban is maximum fél év,

    ezt azért kifejthetnéd, hogy hogyan lehet fél év alatt megtanulni lassu tempoban .
  • M2 #10
    Igen, azt sok helyen "elfelejtik" említeni, hogy egy év, mire minden fogalmat, kifejezést és programozási mintát megtanul az ember. Aztán jön csak a specifikus nyelv.
  • M2 #9
    Ezek a sorok szerepeltek a cikkben, biztos elkerülte a figyelmedet:
    "Cook szerint az iskolát elvégzőknek képeseknek kellene lenniük kifejleszteni egy szoftvert és megjelentetni azt. A kész alkalmazásnak nem kell kereskedelmi terméknek lennie, de mindegyik diáknak képesnek kell lennie egy programot az alapoktól megalkotni."
  • repvez
    #8
    egy részről igaza van, mert aki tud programozni az sokkal könnyebben boldogul a mai világban, nem csak , hogy jobb melot kap hanem esetlegesen a hobbiát is könynebben tudná tenni.
    A másik részről igen könnyen beszél az akinek nem kell már egy idegen nyelvet megtanulnia és nem amiatt nem ért valamit .

    Meg ezt ugy mondja, mintha olyan könnyu lenne programozni megtanulni. Én is nagyon szeretnék és hiába tudok angolul és hiába van egy csomo könyv letöltve és a YZ-on is, az esetek 90%ban ugy adják elö mint akinek már van valami fogalma a dolgokrol bármilyen más nyelvbol.
    Egyedul ad hoc jelleggel esélytelen .
    A forumokban meg olyan jotanácsok jönnek, hogy elöbb meg kell tanulni egy másik nyelvet , mielött mondjuk C++ ba fogna az ember, de ha minden lépcsöt végigjárna az ember akkor sose érné utol magát , hogy naprakész tudása legyen.
    Azok az idők elmultak, mikor pár sor koddal egy hétvége alatt lehetett játékot késziteni egyedül.

    Szóval ha Cook bácsi anynira akarja akkor tegye lehetővé, hogy az idősebb korosztáj akinek nincs elöképzettsége is naprakész programozási nyelveken tudja megvalositani a saját elképzeléseit.
  • Sequoyah
    #7
    Nem a szoftverfejlesztest kell megtanulni, hanem egy nagyon alapszintu programozast.
    Es nem az a cel ezzel hogy mindenki meg tudjon irni egy hasznalhato programot, hanem hogy legyen mindenkinek egy alapveto fogalma arrol hogy milyen logikak menten mukodnek a programok amik ma mar mindent atszonek ami korulottunk van.
  • M2 #6
    Természetesen nem angol anyanyelvűek esetében az első és legfontosabb az angol nyelv elsajátítása. Minden szakmában.

    A Swift (vagy bármilyen programozási nyelv) megtanulása lassú tempóban is maximum fél év, az eszközök, API-k, fejlesztési folyamatok megtanulása viszont évekbe telik.

    Nem tudja a szoftverfejlesztést mindenki megtanulni, az élő emberek 90 százaléka hamarabb halna meg végkimerülésben. Ez csak egy szépen hangzó hazugság.
  • NEXUS6
    #5
    Igen, elég visszás a helyzet, hogy mondja ezt egy angol anyanyelvű CEO, aki olyan cég elnöke, amelyik ugyan az angol anyanyelvű területeken elég sikeres a termékei eladásában, amivel akár második, harmadik, adott kategóriát világátlagban tekintve. De az un. "Rest of the World" térségekben, ahol az emberiség 3/4-e él, a túlárazott, sznob termékeik nem igazán találnak gazdára. Ami bizony arra vezethető vissza, hogy mivel nem ismerik az adott nyelvet, kultúrát, az embereket, sőt lexarják őket, így nem is találnak velük hangot.
  • BrockSamson
    #4
    Mint sok amerikainak, igy Tim bacsinak is nagyreszt az USA jelenti a vilagot, ahol alapban beszelnek egy vilagnyelvet. Ettol eltekintve nem hulyeseg, amit mond.
  • Ender Wiggin #3
    És ha nincs szinkron, akkor sírva követeli az idegen nyelvet nem beszélő programozó...
  • Dynamic
    #2
    Ezzel nem mondott nagy újdonságot. Egy programozási nyelv több készséget fejleszt, mint mondjuk megtanulni svédül. Persze magyarként komoly fegyvertény, ha valaki megtanul pl. angolul - már csak a világban fellelhető bődületes mennyiségű tudásanyag miatt -, de amerikaiként (ANGOL anyanyelvűként) miért is kéne egyáltalán idegen nyelvet tanulni? :)
  • zola2000
    #1
    Hát nem tudom, de nehéz megtanulni programozni anélkül hogy előbb valaki megtanulna angolul, mert a legtöbb anyag angolul van.