emkiset.ru

Hoe een expert te zijn die programmeertalen leert

Leer veel programmeertalen

het wordt beetje bij beetje eenvoudiger, als je al verschillende programmeertalen kent. Met andere woorden, wanneer u nieuwe talen leert, wordt het leren van een nieuwe taal eenvoudiger en gemakkelijker. Je kunt dit proces stroomlijnen door verschillende soorten taal te leren.

stappen

Titel afbeelding Become Skilled at Learning Programmeertalen Step 1
1
Meer informatie over de gegevensstructuur en algoritmen. Het zal u geen goed doen om alle programmeertalen die in de hele wereld bestaan ​​te kennen, als u niets weet over algoritmen en gegevensstructuur. Dit zijn hulpmiddelen die de taal overstijgen, de platforms en de ontwikkelingshulpmiddelen die u later zult leren. Het is bijvoorbeeld handig om te weten hoe u ze classificeert, hoewel het zeer waarschijnlijk is dat u bibliotheekprocedures gebruikt om ze in de meeste talen te classificeren.
  • Basiskennis hebben van logica, wiskunde en taalkunde is ook erg nuttig, maar niet essentieel.
  • Titel afbeelding Become Skilled at Learning Programmeertalen Step 2
    2
    Ken de verschillende soorten talen.
  • U zou de verschillen tussen het commandobestand en de systeemtaal moeten kennen. Dit was vroeger belangrijker dan het nu is: veel mensen gebruiken programmeertalen zoals Phyton, Ruby en jаvascript (ECMAScript) voor programma`s met een bredere en meer gecompliceerde inhoud, terwijl de IPA-platforms (Application Programming Interface) wordt een verscheidenheid aan talen.
  • Je moet in staat zijn om de verschillende soorten systemen te onderscheiden.Wat u moet weten voor het bespreken van type systemen Het geeft je een betere uitleg.
  • Leer het verschil tussen stapelprogrammering en heuvelprogrammering.
  • U moet het verschil kennen tussen de parameter stap voor stap en bij referentie.
  • Leer de verschillende soorten programmeren, zoals gestructureerd programmeren, objectgericht, functioneel en procedureel. Een bepaalde taal zal meestal gericht zijn op een van deze soorten programmering, maar sommige hebben de neiging om ze te combineren.
  • Ken het verschil tussen gecompileerde uitvoeringscode, geïnterpreteerde code, gecompileerde code, gecompileerde runtime-code en virtuele machine-code. Deze kunnen op verschillende manieren worden uitgevoerd en bieden verschillende soorten programmering. Weten wanneer een virtuele machine moet worden gebruikt en wanneer een code op een natuurlijke manier moet worden gebruikt, kan het verschil maken tussen de mislukking of het succes van een project.
  • Titel afbeelding Become Skilled at Learning Programmeertalen Step 3
    3
    Gebruik talen waarmee u verschillende tekens en programmeerstijlen kunt invoeren.
  • Je zult vaak merken dat er voor een bepaalde programmeerstijl een heel zuivere taal zal zijn, maar het is zeer onwaarschijnlijk dat het kan worden gebruikt om die programmeerstijl te leren - er zal ook een veel praktischer taal zijn die je in het dagelijks leven kunt gebruiken. Om een ​​expert te worden in het leren van programmeertalen, is het de moeite waard om enkele van deze pure talen (onderzoek) te leren, zolang ze u helpen wanneer u de praktische talen sneller leert.
  • U kunt bijvoorbeeld objectgeoriënteerd programmeren in Smalltalk leren. Je zult in dit programma niet veel kunnen creëren, maar dit was een van de eerste soorten objectgeoriënteerd programmeren. Ruby behoudt nog steeds een aantal functies van Smalltalk en heeft nog steeds een zeer praktische taal die u kunt gebruiken voor een breed scala aan programmeeropdrachten. Java, C # en C ++ zijn talen op hoog niveau met een technische assistentieservice voor objectgeoriënteerd programmeren.
  • Voor talen die interfaces gebruiken, kunt u Java, C # of C ++ gebruiken. Python, C ++ en andere talen laten een meervoudige reeks toe, terwijl Scala karakters gebruikt, een interessante combinatie van interfaces, verschillende reeksen en abstract.
  • Gebruik HavaScript (ECMAScript) voor objectgeoriënteerd programmeren op basis van prototypen. jаvascript heeft geen klassen, maar prototypes. De taal waarmee programmeren op basis van prototypes start en is een originele en individuele taal. ActionScript, Lua en REBOL kunnen voor dit type programmering worden gebruikt.
  • U kunt overwegen OCalm of Haskell te leren als het gaat om functioneel programmeren. Dit zijn programmeertalen met een statisch functioneel type. Voor iets meer praktische talen kunt u Scala (in de Java Virtual Machine) of F # (in lijn) kiezen.
  • Als je met een taalprogramma wilt werken dat heel dynamisch is, kun je Ruby, Python, Perl of Lisp gebruiken. Het type systemen in deze talen varieert sterk van andere talen zoals Java of C. Het is de moeite waard om dit soort taal te gebruiken om te zien wat voor soort dingen je moet programmeren als je niet over dit soort systemen beschikt: unit testing, metaprogrammingstechnieken , dynamisch typen van gegevens (Duck Typing), onder anderen.
  • Probeer specifieke talen te behandelen, dit zijn talen die zijn ontworpen voor specifieke objecten of abstractietalen die voornamelijk zijn ontworpen in een reeds bestaand programma, om enkele van de specifieke groepen van functionaliteit uit te drukken. Hiertoe behoren SQL, XSLT, FreeMarker, ASO.net, C # LINQ, Shell Scripts, YACC, AWK, SED bij honderden anderen. Ruby en Scala kunnen beide worden gebruikt om domeinspecifieke talen te creëren. U kunt zich realiseren dat veel van de domeinspecifieke talen geen Full Turing zijn.
  • Titel afbeelding Become Skilled at Learning Programmeertalen Step 4
    4
    Leer de verschillende concurrency-benaderingen.
  • Aanwezigheid is een zeer moeilijk probleem op dit gebied en veel van de nieuwe talen creëren nieuwe manieren om gelijktijdige routines te schrijven. Sommige van deze benaderingen kunnen niet eenvoudig worden ontworpen met bibliotheken, maar vereisen de hulp van hetzelfde programma.
  • Subprocessing is de breedste vorm van hulp voor concurrency, maar tegelijkertijd kan het moeilijk zijn om te ontwerpen. Java, C ++ en vele andere talen kunnen nuttig zijn voor subprocessing, terwijl sommige talen zoals Python en Ruby nuttiger zijn voor `de threads die door een virtuele machine worden verwerkt` dan voor de uitvoeringsdraden van levelingsystemen waar. De subverwerking komt omdat alle threads van uitvoering toegang vereisen tot dezelfde groep globale variabelen, wat kan leiden tot concurrentievoorwaarden en andere soortgelijke problemen. Dat is de reden waarom er andere benaderingen zijn geïntroduceerd ...
  • Transactiegeheugen kan een oplossing zijn: Erlang en Clojure zijn twee heel verschillende taaltypen die dit geheugen implementeren.
  • De acteurs van Passage of Messages zijn een andere oplossing: het loont de moeite om Scala en Erlang voor dit doel te gebruiken.
  • Je kunt in Python en Ruby een gebeurtenismachine en een gedraaide machine zien, die gebeurtenislussen biedt. Een andere mogelijke manier is om in jаvascript (Node) het serverraamwerk te zoeken naar eventlussen.
  • Corutinas zijn een andere manier om gelijktijdigheidsproblemen op te lossen: de Google "Go" -taal is een nieuw statisch type, een systeemtaal van inferentiaal type gemaakt voor functies zoals C, maar met de syntaxis en eenvoud van Python. Dit gebruikt verschillende routines "Go" (Go) en een implementatie van corutinas. Een andere taal ontworpen op corutinas is de Icon.
  • Stuur lijsten is een andere mogelijke oplossing voor dit probleem: Mac OS X10.6 en meer capaciteit, "Grand Central Dispatch" is een lijst van Apple-systeem, gemaakt voor gebruik in C, C ++ en Objective C. De implementatie van open source van GCD is beschikbaar als libdispatch. De Java en Scala implementatie genaamd HawDispatch is ook beschikbaar.
  • Afbeelding met de titel Word Skilled at Learning Programming Languages ​​Step 5


    5
    Het Read Code-programma Het is een van de beste manieren om nieuwe talen te leren en op een snellere manier. Er zijn veel open codes beschikbaar en als je eenmaal een paar applicaties hebt gelezen via de code, begin je goede of slechte codes te zien en een smaak te ontwikkelen voor wat je leuk vindt en wat je niet leuk vindt. Evenals het begrijpen waarom bepaalde stijlen van programma`s en paradigma`s goed zijn voor verschillende functies.
  • Afbeelding met de titel Word Skilled at Learning Programming Languages ​​Step 6
    6
    Ten eerste moet je een project hebben om te werken. Het is meestal gemakkelijker om een ​​nieuwe taal te leren als u al een specifiek project of een te bereiken doel hebt. Een nieuwe taal leren door "Hallo voor de hele wereld" te schrijven is veel moeilijker dan het lijkt en brengt de echte taalvaardigheden niet in praktijk.
  • Titel afbeelding Become Skilled at Learning Programming Languages ​​Step 7
    7



    Je moet weten hoe je onderscheid kunt maken tussen een bibliotheek en een taal. Het kan in sommige talen erg verwarrend zijn om te weten hoe je onderscheid kunt maken tussen `bibliotheek` en `taal`. Het kan ook veel verwarring veroorzaken om "codegeneratoren" en "taal" te onderscheiden. Wanneer u een nieuwe taal leert die lijkt op een taal die u al kent, is dit geval van het leren manipuleren van een bibliotheek en de eigenaardigheden meestal de langste taak.
  • Afbeelding met titel Become Skilled at Learning Programming Languages ​​Step 8
    8
    Probeer verschillende hulpmiddelen. Sommige programmeertalen zijn ontworpen om goed te werken met sommige specifieke hulpmiddelen. Veel van de talen kunnen worden geschreven met alleen een teksteditor zoals Vim, Notepad2 of TextMate, maar werken met een Lisp-taal kan eenvoudiger zijn als je Emacs gebruikt, dankzij de hulp die het biedt om REPL-contexten op te nemen. Wanneer u in C # of een andere online taal werkt, dient u idealiter Visual Studio of MonoDevelop te gebruiken. Wanneer u Java gebruikt, kunt u Eclipse, NetBeans, IntelliJ IDEA en vele anderen kiezen. Zelfs het kiezen van besturingssystemen of een versiecontrolesysteem kan het schrijven van de code veranderen.
  • Sta niet toe dat de tools de programmering definiëren, en laat de verandering hiervan niet toe een obsessie te worden. Je kunt leren met behulp van verschillende tools, gewoon uit nieuwsgierigheid. Vaak kunnen de tools die u gebruikt het proces vertragen en dit wordt pas opgemerkt als u het vergelijkt met een nieuwe tool. Het veranderen van het type gereedschap alleen ten behoeve van "vooruitgang" kan echter alles vertragen, vanwege de trucs en de antivirus of de incompatibiliteit die dit heeft met het proces. Soms zijn oude en begrijpelijke tools beter dan de nieuwe en oogverblindende tools die u kiest, gewoon omdat ze in de mode zijn.
  • Titel afbeelding Become Skilled at Learning Programmeertalen Step 9
    9
    Leer met echte gebeurtenissen. Je kunt leren door het bijwonen van vergaderingen van programmeurs, conferenties, internationale netwerk van conferenties (Bar Camps), hackathon dagen, gebruikersgroepen en andere vormen van disconnecties. Deel uitmaken van deze groepen kan erg nuttig zijn, inclusief frequente aanwezigheid, om nieuwe ideeën toe te passen en nieuwe methoden te identificeren om bepaalde dingen te doen. Het is een voordeel dat in een nieuwe context moet worden getest.
  • Titel afbeelding Become Skilled at Learning Programmeertalen Step 10
    10
    Gebruik uw nieuwe taal op het werk. Professionele programmeurs kunnen kansen vinden in hun werk om hun nieuwe kennis in programmeertalen te gebruiken. Probeer geen gekke evangelist te worden, maar je kunt met de talen spelen, zodat ze correct passen. Een taal inpassen in een project waar het echter niet past, alleen door een nieuwe taal te gebruiken, is gewoon een manier om te mislukken. Het hebben van veel tools in je box geeft je altijd meer kansen en meer flexibiliteit.
  • Als u bijvoorbeeld aan een Java-project in uw werk werkt, betekent het gebruik van Ruby dat de ontworpen opdrachtbestanden naar Buildr kunnen worden geschreven. De testbibliotheken die al bestaan, kunnen worden gebruikt als testcodes om te schrijven (test / ruby, shoulda, RSpec, enzovoort) en worden uitgevoerd met de Java-applicatie met JRuby.
  • De taal van het opdrachtbestand kan worden ingesloten in bestaande toepassingen die "opdrachtschrijven" toestaan ​​voor dynamische, gegenereerde of vertraagde uitvoercodes. Ruby, Python, jаvascript, XSLT en Lua zijn zeer goede kandidaten voor dit proces.
  • De add-on-editor, de versiebeheer-verbinding, kan onder andere meestal sneller worden geschreven in een lichte taal, meestal vrije vorm zoals jаvascript, Perl of Ruby, in plaats van Java of C.
  • Als u een front-end interface voor een eenvoudige applicatie moet schrijven, probeer dan een taal voor een bestellingsbestand zoals IronPython of MacRuby te gebruiken.
  • Als u een laatste dorsale motor moet schrijven voor een betere werking van de toepassing, gooit u een van de talen weg die voor u betere concurrency-hulp bieden: zoals Erlang, Scala, Clojure en anderen.
  • Wees voorzichtig: niet alle bedrijven zijn het eens met niet-legale programmeertalen. En als alles fout gaat, wordt u als schuldig beschouwd!
  • Titel afbeelding Become Skilled at Learning Programming Languages ​​Step 11
    11
    Draag bij aan open codes. Als u geen commentaar kunt geven op uw nieuwe kennis in programmeertalen in uw werk, kunt u altijd deel uitmaken van open source-projecten. Er zijn veel grappige toepassingen die moeten worden ontworpen voor elk platform (Linux, Windows, Mac, enz.) En voor online opdrachthulpprogramma`s, bibliotheken, taalfuncties of zelfs voor een nieuwe taalstijl. Een open source-project kan een geweldige vervanging zijn als een aangepast project niet kan worden gevonden wanneer u een nieuwe taal probeert te leren.
  • Afbeelding met de titel Word Skilled at Learning Programming Languages ​​Step 12
    12
    Leer nieuwe dingen die niets te maken hebben met programmeertalen. Leer elk jaar een nieuwe database of een nieuwe applicatie-programmeerinterface. Of beter nog: verwerf vaardigheden die niets met programmeren te maken hebben. Koken, een muziekinstrument spelen of professionele foto`s maken zijn erg populaire activiteiten in computergeekcirkels. Het beoefenen van een sport of het doen van een andere activiteit geeft je tijd om na te denken en nieuwe ideeën te hebben over gefilterd programmeren. Dit is erg belangrijk.
  • Titel afbeelding Become Skilled at Learning Programmeertalen Step 13
    13
    Leer je een taal per jaar? Het Pragmatische programmeursboek suggereert dat je elk jaar een nieuwe programmeertaal moet leren. Het kan een hoop per jaar zijn, maar probeer jezelf vast te houden om beetje bij beetje nieuwe talen te leren en op de hoogte te blijven van nieuwe ontwikkelingen. Zelfs als je de talen in je werk of open source-projecten niet gebruikt, maak je ze alleen waardevoller dan welke andere werknemer ook, maar zul je ook die voldoening in je hebben.
  • tips

    • Sommige programmeertalen bieden vele manieren om een ​​code te schrijven. Er zijn bijvoorbeeld veel manieren om de kleur van iets in rood of blauw te veranderen met een C # -opdrachtbestand.
    Delen op sociale netwerken:

    Verwant
    Hoe programmeren te lerenHoe programmeren te leren
    Hoe een programmeertaal te lerenHoe een programmeertaal te leren
    Hoe de taal van Windows 7 te veranderenHoe de taal van Windows 7 te veranderen
    Hoe de taal in Android te veranderenHoe de taal in Android te veranderen
    Hoe een programmeertaal te creërenHoe een programmeertaal te creëren
    Hoe te beginnen met leren programmerenHoe te beginnen met leren programmeren
    Hoe objectgeoriënteerd programmeren te begrijpenHoe objectgeoriënteerd programmeren te begrijpen
    Hoe leer je meerdere talen tegelijkHoe leer je meerdere talen tegelijk
    Hoe een web-ontwikkelaar te wordenHoe een web-ontwikkelaar te worden
    Hoe te schrijven `I love you` in verschillende talenHoe te schrijven `I love you` in verschillende talen
    » » Hoe een expert te zijn die programmeertalen leert
    © 2021 emkiset.ru