Ha már nem ismeretlen terep számotokra a programozás, hogyan kezdenétek Python-t tanulni?
Ott a SoloLearn és a W3 Schools, én viszont hajlok arra, hogy elvégezzek egy tanfolyamot, lehetőleg NEM online. Nektek milyen tapasztalataitok vannak?
Nekem nincs szükségem arra, hogy elmagyarázzák, mi a változó, ciklus, elágazás, de azért eléggé kezdő vagyok még.
Életemben nem pythonoztam még, de előbb-utóbb ki akarom próbálni.
Hogy mi lesz az első? Átnézem a doksiját. Nem betűről-betűre, nem bemagolni akarom, hanem a szintaxisára vagyok kíváncsi. Azért kell ez nekem elsőnek, hogy ha elkezdem írni a programot, akkor úgymond "tudjak helyesen írni". Elég szintaktikai hibán estem már át életem során, így nekem elég átnézni ezt a részt 1-2x, komolyan megtanulni úgy is munka közben fogom.
Aztán ha már a szintaxissal képben vagyok, a következő dolog amire kíváncsi vagyok, hogy mennyire felszerelt a nyelv. Tehát például, hogy meg kell-e nekem írni egy kódrészletet, ami megnézi, hogy egy elem benne van-e egy listában vagy sem. Durva hasonlat, de kb ilyenek érdekelnek. Mi az, ami pl Java-ban nincs, Pythonban van. És fordítva. Erre nem muszáj a doksit használni, de a tartalomjegyzéket átpörgetve kb képben lennék, hogy mire számíthatok.
Ha szorít az idő, akkor el is kezdeném a munkát, a fent leírt dolgokra max 1-2 óra szerintem elég lenne nekem. Ne arra gondolj, hogy ennyi idő alatt tanulom meg a nyelvet, hanem arra, hogy egy úgymond inicializálom magamat egy új programozási ágra/logikára. :D
Ha viszont van még időm, akkor példakódokat néznék, amit te is említettél pl a SoloLearn jó erre. Egy-egy példakódot akár megpróbálnék kibővíteni is. Pl egy calculatort feltúrbózni új funkciókkal stb. 2-3 nap alatt szerintem belejönnék annyira, hogy elkezdhessek egy hobbiprojektet.
És végül jöhet a valódi munka. Az első projektjeim nem túlzok, teljesen hasztalanok lennének, ha termékként szeretném eladni a projektet. De nem ez lenne a lényege a hobbiprojektnek, hanem, hogy munka közben új dolgokat fedeznék fel a nyelvben, észrevenném, hogy erre is van már megoldás, arra is, stb. Kipróbálnék több dolgot is, és érzem is, hogy fejlődök, mert készül a szoftver. Továbbá megpróbálnék általános mintákat is ráhúzni egy-egy projektre (MVVM, MVC, IoC container, stb). Munka alatt persze egyfolytában használnám a doksit/stackoverflowt/google-t. Előbb-utóbb eljutnék egy iparban is használható szintre.
Szóval tömören a gyakorlatra fektetném a hangsúlyt. Én mindig is így szerettem tanulni új nyelveket és technológiákat. Persze azt is számítsuk bele, hogy én is még csak Junior vagyok. :D Szerintem olyan nagy változások viszont később sem lennének, ha már magasabb rangú lennék. Maximum alkalmaznék néhány bevált technikát, amikre eddigi életem során rájöttem.
Még "csak" junior vagy? :P
Azért írtál számomra (az én szintemen) is hasznos dolgokat, köszönöm! :)
Melyik programozási nyelvben nincs metódus/függvény egyéb arra, hogy megvizsgáljuk, egy adott valamit tartalmazza-e a kollekció?
"Melyik programozási nyelvben nincs metódus/függvény egyéb arra, hogy megvizsgáljuk, egy adott valamit tartalmazza-e a kollekció?"
Ez csak egy durva hasonlat volt. Nyilván nem az ilyen alap dolgokra vagyok kíváncsi, de egy ugyancsa durva, de már valódi példával élve:
Java-ban nincs a burkoló String osztálynak Empty metódusa vagy propertyje. C#-ban van. Így, C#-ban érdemes így létrehozni egy üres stringet:
var myString = string.Empty;
Míg Java-ban marad a kőkorszaki mód:
String myString = "";
Tehát C#-ban van már beépített megoldás erre.
Ez csak egy dolog azok közül ami más. C# a .NET miatt nagyon fejlett, ezért nem szükséges külső elemeket használni, hogy megkönnyítsd a dolgod. A Java viszont ma egy nagyon elmaradt nyelv a kategóriájához képest, egyetlen húzóereje a Spring framework, ezt viszont illik használni sok webes projektnél, hiszen nem kell neked megírni olyan dolgokat, mint például a permissionok kezelése. C#-ban viszont ez utóbbit is megtalálhatod például az ASP.NET-en belül.
Szegény Java. :(
Észrevettem már, hogy sokan nem szeretik ezen az oldalon. :D
Nem szeretésről vagy nem szeretésről szól. Az mellékes, hogy nekem se a szívem csücske, Python a kedvenc prog nyelvem. Ez igazából nem számít a válaszom szempontjából, csak annyiban hogy még mielőtt valaki azt hinné, hogy java fan vagyok és elfogult vagyok vele szemben ezt előre letisztáztam.
Tény hogy hivatalosan is elfogadott oldalon [link] látható, hogy világ viszonylatban a java a vezető , a szerint hogy melyik prog nyelv a leghasználtabb.
"Ez csak egy durva hasonlat volt."
Elég durva hasonlat, annyira hogy konkrétan nem is igaz.
a c#-os string létrehozására önmagáért beszél, nincs mit hozzátennem : [link]
"Míg Java-ban marad a kőkorszaki mód:"
Ha úgy is lenne, akkor nem látom az miért lenne attól az objektíven kizárólag előnyösebb.
String myString = new String(); is lehet java-ban stringet példányosítani.
"Tehát C#-ban van már beépített megoldás erre."
Mintha ennek lenne különösebben jelentősége.
"Ez csak egy dolog azok közül ami más. C# a .NET miatt nagyon fejlett, ezért nem szükséges külső elemeket használni, hogy megkönnyítsd a dolgod."
Csak lényegében a .NET keretrendszer kell hozzá, nem azt mondom hogy nincs semmi átjárás, de főként windows platform kompatibilis,szemben a java-val ami platformfüggetlen.
"A Java viszont ma egy nagyon elmaradt nyelv a kategóriájához képest, egyetlen húzóereje a Spring framework ..."
Egyébként az android egy nagy húzóereje, andriod amíg nem létezett sosem volt első helyen a tiobe index-en.
------
Nincs tapasztalatom tanfolyamokban. Biztos, hogy úgy fogod megtanulni hogy majd amit a tanfolyamon mutatnak mondanak, akkor ott tanulsz. Amikor éppen nem a tanfolyamon vagy, hisz ugye nem 0-24-ben van, akkor meg rá se nézel. Olyat is elmagyaráznak amit tudsz több mint valószínű.
Nos, a W3 Schools-on már nézegettem a Python-t. Jobb lenne egy összeszedettebb valami, esetleg feladatokkal. Egyelőre nem akarom belevetni magamat, de nézegetni, képbe kerülni mindenképp.
Nem döntöttem még el, hogy a Sololearn-t töltöm-e le hozzá vagy a neten nézelődök pl feladatok után. A Sololearn előnye talán az, hogy úton-útfélen lehet gyakorolni, "játszani" vele.
A W3Schools a szintaktikára megy rá és az önmagában még nem segít nekem eleget, túl kezdő vagyok ehhez. A doksi is akkor segít (legalábbis a C#-nál így van), amikor már tudom, mit akarok keresni; amikor már valahol elakadtam.
Nekem nem tetszik a Java és a C#-ot kedvelem. Viszont a Java van előrébb minden mutató szerint, valószínűleg az Android nyelve se véletlenül lett az.
A környezetemben a Java-t szeretik és a C#-ot nem.
Meglátjuk, mi lesz a vége a Microsoft crossplatform-törekvéseinek és a nyílt forráskódú .NET-nek.
Szerintem kényelmes nyelv a C# és sok dolgot tud (a keretrendszerrel együtt). A Visual Studio is sokat tud, sok esetben "tudja", hogy mit akarnál csinálni, leírja, mi a gond vele, ki is javít.
C#-ból a string.Empty property használata számomra ugyanolyan kényelmetlen, mint Java-ban a
String str = "alma";
char secondChar = str.chartAt(1);
Az str[1] helyett
Vagy stringek esetén az:
if (str.equals(str2))
Az
if (str == str2)
Helyett.
Én személy szerint azt kedvelem, ha minél rövidebb.
Azért azzal csak csinnyán hogy minél rövidebben anál jobb.
Javascriptes példánál a legkönnyebben tetten érhető, mivel a weblapok nagy része már használ javascriptet. Ilyen szinten meg nincs különbség a között meg más prog. nyelv között, hogyha rövidít akkor milyen áttekinthetetlen lehet az egész.
Mint pl. : [link]
Én azt mondanám helyette, hogy minél inkább logikus, intuitív és a az ésszerűség határain belül egységes azt szeretem jobban. Pl a == az mindig jelentse azt hogy egyenlő e operátor 2 oldalán álló konstans literál vagy változó értéke. Tömbnek vagy a tömb jellegzetes tulajdonságaival rendelkező típus így a string esetében is indexelhető legyen [] operátorral stb.
Ha emiatt tömörebb akkor ne menjen az olvashatóság, az áttekinthetőség rovására.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!