Ja en? Dat klinkt als een oude opa die de oorlog heeft meegemaakt en zijn kleinkinderen geen speelgoed gunt omdat hij dat ook nooit gehad heeft en ze zo wil leren dat het allemaal heus niet uit de lucht komt vallen. Het is een onzinargument. Je gaat toch ook niet in een assemblytaal zitten programmeren om "eens even goed te leren hoe je elke bit het meest efficient kunt gebruiken!quote:Op donderdag 7 juli 2011 15:38 schreef Pheno het volgende:
[..]
Je hoeft niet te prediken hoor, daar ben ik immuun voor. Het leuke is dat elke taal zegt bovenstaande te zijn namelijkIk denk dat er nu gevallen wordt over het compacte, want het doet zo veel voor je. Dat kun je pas waarderen als je weet hoe rot het in 'mindere' talen gaat.
Voor een programmeur is het zeker niet verkeerd om eens in assembly te programmeren, dan leer je pas echt hoe een computer in de basis in elkaar zit. Iets wat veel programmeurs die alleen in hogere orde talen programmeren niet meer weten.quote:Op donderdag 7 juli 2011 15:50 schreef keesjeislief het volgende:
[..]
Ja en? Dat klinkt als een oude opa die de oorlog heeft meegemaakt en zijn kleinkinderen geen speelgoed gunt omdat hij dat ook nooit gehad heeft en ze zo wil leren dat het allemaal heus niet uit de lucht komt vallen. Het is een onzinargument. Je gaat toch ook niet in een assemblytaal zitten programmeren om "eens even goed te leren hoe je elke bit het meest efficient kunt gebruiken!"? Je schrikt mensen die vooral willen leren programmeren alleen maar af met teveel randzaken en verbose geouwehoer. Python is een goede, heel complete, duidelijke en intuitieve taal die erg dicht bij menselijke logica staat. En daar is het behoorlijk uniek in. Dat zorgt ervoor dat nieuwelingen het snel kunnen leren, het een plezier is om in te programmeren en dat je je als prorgrammeur kunt storten op het meest interessante werk, nl. het in structuren en algoritmes vangen van het probleem dat je op wilt lossen. Een soortgelijke reden gaf MIT ook voor hun belsuit om Python te gaan gebruiken zoals uitgelegd in een bovenstaande post.
Nou, kom maar op met een feit van belang over de werking van computers dat ik niet weet en jij wel.quote:Op donderdag 7 juli 2011 15:52 schreef themole het volgende:
[..]
Voor een programmeur is het zeker niet verkeerd om eens in assembly te programmeren, dan leer je pas echt hoe een computer in de basis in elkaar zit. Iets wat veel programmeurs die alleen in hogere orde talen programmeren niet meer weten.
Hij heeft wel gelijk, je komt dichter tegen de hardware aan te zitten met ASM. Je kan bijvoorbeeld zien welke memory adressen er aangestuurd worden door bepaalde handelingen, iets wat je met C++ niet echt snel zal tegen komen. Het geeft een completer beeld.quote:Op donderdag 7 juli 2011 15:54 schreef keesjeislief het volgende:
[..]
Nou, kom maar op met een feit van belang over de werking van computers dat ik niet weet en jij wel.
Wil je mijn oorlogswond zien?quote:Op donderdag 7 juli 2011 15:50 schreef keesjeislief het volgende:
[..]
Ja en? Dat klinkt als een oude opa die de oorlog heeft meegemaakt en zijn kleinkinderen geen speelgoed gunt omdat hij dat ook nooit gehad heeft en ze zo wil leren dat het allemaal heus niet uit de lucht komt vallen. Het is een onzinargument.
Ik zeg niet dat jij het niet weet, echter ik denk dat veel programmeurs en ontwikkelaars de architectuur rondom de processor toch echt niet goed kennen. Het kan heel handig zijn om te weten wat er diep in de computer gebeurt als jij iets gaat optimaliseren.quote:Op donderdag 7 juli 2011 15:54 schreef keesjeislief het volgende:
[..]
Nou, kom maar op met een feit van belang over de werking van computers dat ik niet weet en jij wel.
quote:Op donderdag 7 juli 2011 15:58 schreef EggsTC het volgende:
[..]
Hij heeft wel gelijk, je komt dichter tegen de hardware aan te zitten met ASM. Je kan bijvoorbeeld zien welke memory adressen er aangestuurd worden door bepaalde handelingen, iets wat je met C++ niet echt snel zal tegen komen. Het geeft een completer beeld.
Nog steeds geen voorbeelden?quote:Op donderdag 7 juli 2011 16:13 schreef themole het volgende:
[..]
Ik zeg niet dat jij het niet weet, echter ik denk dat veel programmeurs en ontwikkelaars de architectuur rondom de processor toch echt niet goed kennen. Het kan heel handig zijn om te weten wat er diep in de computer gebeurt als jij iets gaat optimaliseren.
Nogmaals, bewijsdrang much?quote:Op donderdag 7 juli 2011 15:29 schreef keesjeislief het volgende:
Je zit het hele topic te spugen op het feit dat Python te simpel is om 'goed te leren programmeren', en nu raad je .net aan, wat betekent dat TS een IDE gaat downloaden en met klikkerdeklak formpjes in elkaar gaat plakken? Serieus?.
Snap je het voordeel niet van begrijpen wat er van die Java (of wat dan ook) code door je compiler gemaakt wordt echt niet?quote:
Hardware debugging.quote:Op donderdag 7 juli 2011 16:17 schreef keesjeislief het volgende:
[..]
[..]
Nog steeds geen voorbeelden?
Mwa, ben het voor het grootste deel wel met je eens, maar over het algemeen wordt Python als makkelijker beschouwd. Ik weet ook niet precies waarom veel mensen Python als makkelijker beschouwen, het gebrek aan een goede IDE zoals bijvoorbeeld Eclipse stoorde mij enorm (je hebt/had wel iets van Wing o.i.d....maar dat zoog als IDE volgens mij). Ik denk dat de meeste Python als makkelijker beschouwen omdat ze pas later met OO in aanraking komen, iets waar je bij Java/C# gelijk rekening mee moet houden.quote:Op donderdag 7 juli 2011 16:19 schreef Catbert het volgende:
[..]
Nogmaals, bewijsdrang much?
Ik vind Java een betere leertaal dan Python. Ondanks dat sommige dingen wat omslachtiger zijn, wordt je bij Java meer gedwongen OO te programmeren en vooraf te bedenken of iets een String of een int oid is. Ik "spuug" niet op Python, ik vind het voor mezelf niet echt een toegevoegde waarde hebben. Tools maak ik in Java meestal, simpele scripts meestal in Perl. Op dit is in dit onderwerp de exacte taal waarin je dingen leert redelijk ondergeschikt aan HOE je dingen leert. Als je een goeie leraar hebt, maakt het geen zak uit. Als je jezelf dingen aan gaat leren, dan kun je beter niet met een taal bezig gaan die je alles maar leert doen. Ik ben toen ik 15 was in Qbasic geworden en heb me toen ik me met Java bezig ging houden een hoop dingen af moeten leren.
Wat betret GUI programmeren: ik raad mensen sowieso af om met GUIs te beginnen. Maar als je desktop apps wilt bouwen en de keuze hebt tussen C# en Java, zou ik voor C# gaan.
quote:Op donderdag 7 juli 2011 16:17 schreef keesjeislief het volgende:
[..]
[..]
Nog steeds geen voorbeelden?
bron:http://onlamp.com/pub/a/onlamp/2004/05/06/writegreatcode.htmlquote:This is very good advice. After all, high-level compilers translate their high-level source statements into low-level machine code. So if you know assembly language for your particular machine, you'll be able to correlate high-level language constructs with the machine language sequences that a compiler generates. And with this understanding, you'll be able to choose better high-level language statements based on your understanding of how compilers translate those statements into machine code.
All too often, high-level language programmers pick certain high-level language sequences without any knowledge of the execution costs of those statements. Learning assembly language forces the programmer to learn the costs associated with various high-level constructs. So even if the programmer never actually writes applications in assembly language, the knowledge makes the programmer aware of the problems with certain inefficient sequences so they can avoid them in their high-level code.
Waarschijnlijk heeft dat meer te maken met het bouwen van compilers voor bepaalde processoren (embedded devices enzo). Je moet dan wel enige kennis hebben van assembly. Of het je echt een betere programmeur maakt als je in een willekeurig high level taaltje werkt betwijfel ik.quote:Op donderdag 7 juli 2011 16:34 schreef themole het volgende:
[..]
[..]
bron:http://onlamp.com/pub/a/onlamp/2004/05/06/writegreatcode.html
Niet voor niets dat de TU Delft hun informatici nog altijd assembly leert.
Op zich mee eens, maar als ik naar mezelf kijk denk ik toch dat je als je niet begint met OO 'denken' het juist moeilijker is later om te schakelen dan wanneer je begint met een "een Auto heeft view Wielen en is een Voertuig"-achtige concepten. Verder vind ik strongly typed talen een must. Als ik ergens een hekel heb is het wel PHP scripts waar vars op het ene moment gebruikt worden als counter en een stuk later voor de inhoud van een textbox misbruikt worden.quote:Op donderdag 7 juli 2011 16:30 schreef QBay het volgende:
[..]
Mwa, ben het voor het grootste deel wel met je eens, maar over het algemeen wordt Python als makkelijker beschouwd. Ik weet ook niet precies waarom veel mensen Python als makkelijker beschouwen, het gebrek aan een goede IDE zoals bijvoorbeeld Eclipse stoorde mij enorm (je hebt/had wel iets van Wing o.i.d....maar dat zoog als IDE volgens mij). Ik denk dat de meeste Python als makkelijker beschouwen omdat ze pas later met OO in aanraking komen, iets waar je bij Java/C# gelijk rekening mee moet houden.
Persoonlijk vind ik Java of Python niet beter dan de andere. Met Python kan je ook complete applicaties (en zelfs games...zie Unknown Horizons) bouwen, al zie je deze applicaties een stuk minder dan Java applicaties. Wat een persoonlijk gevoel is (heb geen keiharde onderbouwing), is het feit dat beide talen niet erg snappy voelende applicaties oplevert. Applicaties in Python en Java voelen wat log en traag. C# applicaties voelen wat dat betreft sneller. maar nogmaals, dat is persoonlijk waarschijnlijk.
Voor een beginneling zou ik ook Java aanbevelen, vooral omdat het multiplatform is. Als blijkt dat het abstractieniveau van Java nog wat te hoog gegrepen is, probeer dan Python eens. Via Python leer je uiteindelijk hetzelfde, alleen duurt het wat langer voordat je in aanraking komt met OO principes. Beide talen zijn prima. Ik vind iemand die programmeren 'geleerd' heeft via Java niet beter of slechter dan iemand die met Python is begonnen.
Programmeren draait om het abstract kunnen denken, problemen oplossen en mensen tevreden stellen. Welke taal je daarbij gebruikt boeit niet.
Ik denk juist dat kennis hebben van de werking van een CPU maar ook de werking van bepaalde algorithmen (hoe doorzoek ik een boom, hoe sorteer ik een array) belangrijk is omdat je dan als het ware instinctief weet wat dure en goedkope operaties zijn. Niet dat je dat automatisch een goeie programmeur maakt, maar omgekeerd denk ik dat goeie programmeurs dat ook zelf interessant vinden en dat soort dingen graag willen weten.quote:Op donderdag 7 juli 2011 16:57 schreef Core2 het volgende:
Waarschijnlijk heeft dat meer te maken met het bouwen van compilers voor bepaalde processoren (embedded devices enzo). Je moet dan wel enige kennis hebben van assembly. Of het je echt een betere programmeur maakt als je in een willekeurig high level taaltje werkt betwijfel ik.
Een goede analyse van de complexiteit van het algoritme is dan belangrijker. Wat heeft het doorzoeken van een boom met wat low level instructies te maken, hoe helpt die kennis je dan? Het is belangrijker om te analyseren wat het algoritme precies doet met welke running time (worst case, average case, etc) en met wat voor een soort input je te maken hebt. De vraag of je een bepaalde statement of expressie dan anders moet formuleren voor optimalisatie is dan echt ondergeschikt.quote:Op donderdag 7 juli 2011 17:15 schreef Catbert het volgende:
Ik denk juist dat kennis hebben van de werking van een CPU maar ook de werking van bepaalde algorithmen (hoe doorzoek ik een boom, hoe sorteer ik een array) belangrijk is omdat je dan als het ware instinctief weet wat dure en goedkope operaties zijn. Niet dat je dat automatisch een goeie programmeur maakt, maar omgekeerd denk ik dat goeie programmeurs dat ook zelf interessant vinden en dat soort dingen graag willen weten.
De werking van een algorithme is een parallel met de werking van een CPU, volgens mij was dat wel duidelijk. Je kunt een bepaald algorithme prima gebruiken zonder te weten hoe het werkt, maar ik denk wel dat dat belangrijk is. Dit geldt in zekere mate, vind ik tenminste, ook voor snappen hoe een computer low level met instructies omgaat.quote:Op donderdag 7 juli 2011 18:08 schreef Core2 het volgende:
Een goede analyse van de complexiteit van het algoritme is dan belangrijker. Wat heeft het doorzoeken van een boom met wat low level instructies te maken, hoe helpt die kennis je dan? Het is belangrijker om te analyseren wat het algoritme precies doet met welke running time (worst case, average case, etc) en met wat voor een soort input je te maken hebt. De vraag of je een bepaalde statement of expressie dan anders moet formuleren voor optimalisatie is dan echt ondergeschikt.
Python wordt als makkelijker gezien omdat er veel minder 'boilerplate' code nodig is, de code (o.a. daardoor) leesbaarder is en de taal goed aansluit bij je intuitie. Verder zijn er (inmiddels?) uitstekende editors beschikbaar, maar tegelijkertijd is het juist een illustratie van de eenvoud van de taal dat je helemaal geen (geavanceerde) editor nodig hebt.quote:Op donderdag 7 juli 2011 16:30 schreef QBay het volgende:
[..]
Mwa, ben het voor het grootste deel wel met je eens, maar over het algemeen wordt Python als makkelijker beschouwd. Ik weet ook niet precies waarom veel mensen Python als makkelijker beschouwen, het gebrek aan een goede IDE zoals bijvoorbeeld Eclipse stoorde mij enorm (je hebt/had wel iets van Wing o.i.d....maar dat zoog als IDE volgens mij). Ik denk dat de meeste Python als makkelijker beschouwen omdat ze pas later met OO in aanraking komen, iets waar je bij Java/C# gelijk rekening mee moet houden.
Huh? Hoe is deze lijst niet multiplatform?quote:Voor een beginneling zou ik ook Java aanbevelen, vooral omdat het multiplatform is.
Het is al een tijd geleden hoor dat ik met Python heb gewerkt, dus als jij zegt dat er nu betere IDE's zijn dan geloof ik jequote:Op donderdag 7 juli 2011 18:39 schreef keesjeislief het volgende:
[..]
Python wordt als makkelijker gezien omdat er veel minder 'boilerplate' code nodig is, de code (o.a. daardoor) leesbaarder is en de taal goed aansluit bij je intuitie. Verder zijn er (inmiddels?) uitstekende editors beschikbaar, maar tegelijkertijd is het juist een illustratie van de eenvoud van de taal dat je helemaal geen (geavanceerde) editor nodig hebt.
[..]
Huh? Hoe is deze lijst niet multiplatform?
OO is een hulpmiddel, geen doel. Zie niet in dat dwang tot gebruik van OO een goede eigenschap is voor een taal. Eerder een negatieve.quote:Op donderdag 7 juli 2011 19:21 schreef QBay het volgende:
[..]
Het is al een tijd geleden hoor dat ik met Python heb gewerkt, dus als jij zegt dat er nu betere IDE's zijn dan geloof ik je.
Python is ook multiplatform inderdaad, dus ook een prima taal. Ik verkies alleen Java boven Python omdat je meer en eerder gedwongen wordt om aan object georiënteerd programmeren te doen, iets wat zeker voor een beginner handig is.
Kan je ook uitleggen waarom?quote:Op donderdag 7 juli 2011 21:48 schreef ralfie het volgende:
[..]
OO is een hulpmiddel, geen doel. Zie niet in dat dwang tot gebruik van OO een goede eigenschap is voor een taal. Eerder een negatieve.
Ja, want een mix tussen OO en niet OO in een applicatie leidt tot leesbare en onderhoudbare code.quote:Op donderdag 7 juli 2011 21:48 schreef ralfie het volgende:
OO is een hulpmiddel, geen doel. Zie niet in dat dwang tot gebruik van OO een goede eigenschap is voor een taal. Eerder een negatieve.
Dat WTF-gevoel had ik ook toen ik Python voor het eerst zag, maar na er 2 dagen mee gewerkt te hebben begon ik het stiekem wel briljant te vinden.quote:Op donderdag 7 juli 2011 17:15 schreef Catbert het volgende:
[..]
Python zal best een fijne taal zijn, maar ik vind bepaalde dingen gewoon ergerlijke keuzes, zoals whitespaces en underscores die een betekenis hebben. Niet dat dat het een slechte taal maakt, maar ik vind dat persoonlijk (en dat zal vast met m'n C++/Java/.Net achtergrond te maken hebben) eigenlijk een enorme WTF.
De meeste talen hebben wel een WTF-component. Neem nou COBOL waarin je records kan maken met meerdere definities. En niemand die je tegenhoudt om definitie 1 te gebruiken om het record te vullen en vervolgens definitie 2 om het uit te lezen.quote:Op donderdag 7 juli 2011 22:54 schreef thabit het volgende:
[..]
Dat WTF-gevoel had ik ook toen ik Python voor het eerst zag, maar na er 2 dagen mee gewerkt te hebben begon ik het stiekem wel briljant te vinden.
Ik met Objective-Cquote:Op donderdag 7 juli 2011 22:54 schreef thabit het volgende:
[..]
Dat WTF-gevoel had ik ook toen ik Python voor het eerst zag, maar na er 2 dagen mee gewerkt te hebben begon ik het stiekem wel briljant te vinden.
| 1 | [object doSomethingWith:@"this" andWith:@"that"] |
| 1 | 1.times { print "hoi" } |
Zolang je maar consequent werkt en het niet door elkaar gebruikt. Daar hebben veel PHP-developers een handje van, omdat de taal het toelaat en ze lui zijn. Niks mis met een taal die gewoon een bepaalde denkwijze opdringt.quote:Op donderdag 7 juli 2011 21:48 schreef ralfie het volgende:
[..]
OO is een hulpmiddel, geen doel. Zie niet in dat dwang tot gebruik van OO een goede eigenschap is voor een taal. Eerder een negatieve.
Ik weet niet waar je dat aan het doen bent maar bij de Fontys in Eindhoven valt het assembly en cisco gehalte erg mee (non existent).quote:Op maandag 4 juli 2011 22:36 schreef FoolWithMokey het volgende:
Ben op dit moment Technische informatica aan het studeren, maar twijfel erg of ik moet overstappen naar informatica. Wat ik niet leuk vind aan Technische informatica:
PLC programmeren![]()
Netwerken(Cisco)
Waar ik nog niet uit ben of ik het leuk vind of niet:
Technische informatica gaat ook meer over hardware en is erg low level, je krijg ook een hoop assembly, Het zit een beetje tussen Electrotechniek en Informatica.
Informatica vind ik leuker omdat het veel meer programmeren is. Ik zit thuis zelf vaak gewoon te programmeren in java of c# of c omdat ik het gewoon leuk vind. Plc en Cisco opdrachten maak ik alleen maar omdat het moet, en vind eigenlijk niet leuk.
Wat mij ervan weerhoudt om te switchen naar informatica: Ben bang dat ik teveel achterstand heb qua programmeren vergeleken met informatica studenten die vanaf begin informatica doen.
Tips?
Beetje kort door de bocht wat ik nu zeg, maar Java is C++ zonder de geheugenellende.quote:Op vrijdag 8 juli 2011 11:02 schreef darpios het volgende:
.
PHP voor allround webapplicaties, C en C++ voor cross-platform desktopapplicaties, Python, Perl en Bash voor grof aankutwerk. Ik heb niks met dat hele .NET/C# en Java, veel te omslachtig voor mij.
Deels eens, alleen ik heb liever controle over wat ik met mijn geheugen doe. C++ maakt het wel een stuk makkelijk met new/delete (helemaal bij arrays) dan C met malloc/realloc/free.quote:Op vrijdag 8 juli 2011 11:05 schreef Pietverdriet het volgende:
[..]
Beetje kort door de bocht wat ik nu zeg, maar Java is C++ zonder de geheugenellende.
Waarom wil je welke controle over je geheugengebruik dan? Ik ken wel hele specifieke toepassingen waar het nuttig kan zijn, maar ik zie in de meeste gevallen echt het voordeel niet van zelf je geheugen beheren en het levert vaak gewoon enorm irritante bugs op. Memoryleaks zijn na threading issues (race conditions, deadlocks e.d.) wel de meest lastige bugs IMHO.quote:Op vrijdag 8 juli 2011 11:08 schreef darpios het volgende:
Deels eens, alleen ik heb liever controle over wat ik met mijn geheugen doe. C++ maakt het wel een stuk makkelijk met new/delete (helemaal bij arrays) dan C met malloc/realloc/free.
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |