Je kunt met C# gegevens gewoon in een .txt bestand opslaan toch?quote:Op dinsdag 5 juli 2011 19:29 schreef X_FoutBijRegistratie het volgende:
Oh ja, dat zou handig zijn.
Voor webapplicaties weet ik het wel.
Voor een windows applicatie in C# geschreven.
-edit- Stel ik zou zoiets maken, wil ik mensen niet verplichten om een database te installeren zoals sql oid.
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
[ Bericht 8% gewijzigd door FoolWithMokey op 05-07-2011 21:55:28 ]Sisco Certified
SQLite klinkt wel interessant.quote:Op dinsdag 5 juli 2011 20:46 schreef retorbrapi het volgende:
[..]
Je kan ook bijv. een SQLite database bundelen met je app.
quote:Op dinsdag 5 juli 2011 20:51 schreef FoolWithMokey het volgende:
[..]
Je kunt met C# gegevens gewoon in een .txt bestand opslaan toch?
Zoiets misschien:? Of zoek je een veilige manier van data opslaan?Txt bestand is weer te minimaal.SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Wil toch veel gegevens kunnen slaan.En veiligheid is ook wel een belangrijk punt ja.ⁿڻⁿ
"Deze vak bestaat al"?quote:
SQLitequote:Op dinsdag 5 juli 2011 20:55 schreef X_FoutBijRegistratie het volgende:
SQLite klinkt wel interessant.
Het stukje code in de spoiler was idd mijn eigen gepruts. Het is voor in de toekomst idd beter als ik alvast engelse benaming aanleer.quote:Op dinsdag 5 juli 2011 22:22 schreef Devv het volgende:
Ik zou echt aanraden om Engelse naamconventies in je code te gebruiken. Voor eigen freubeltjes maakt het niet zoveel uit. Maar zodra je in een multidisciplinair team aan een project gaat werken, gaan die Nederlandse namen echt voor problemen zorgen. Het is vooral een kwestie van gewenning.
c# heeft ingebouwde databaseachtige dingen, 'datatables' en 'datasets'. Beetje opbouwen a la access en je kunt ze simpelweg manipuleren. Je kunt ze zelfs zonder al te veel moeite van en naar xml overzetten.quote:Op dinsdag 5 juli 2011 20:55 schreef X_FoutBijRegistratie het volgende:
[..]
SQLite klinkt wel interessant.
[..]
Txt bestand is weer te minimaal.
Wil toch veel gegevens kunnen slaan.En veiligheid is ook wel een belangrijk punt ja.
Ik wist niets over datatables, wel handig. Maar ik heb het volgende stukje code geschreven:quote:Op dinsdag 5 juli 2011 22:29 schreef ralfie het volgende:
[..]
c# heeft ingebouwde databaseachtige dingen, 'datatables' en 'datasets'. Beetje opbouwen a la access en je kunt ze simpelweg manipuleren. Je kunt ze zelfs zonder al te veel moeite van en naar xml overzetten.
SPOILEROm spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.Maar ik moet nu toch alsnog een database maken om de ingevoerde gegevens daadwerkelijk op te slaan, of is er een andere manier?Sisco Certified
| 1 | print "Hello World" |
Mijn eerste keuze is ook altijd XML omdat het vrij makkelijk en snel werkt.quote:Op woensdag 6 juli 2011 00:09 schreef Devv het volgende:
Je kan een DataTable/DataSet met de WriteXml methode ook naar een XML bestand laten schrijven.
http://msdn.microsoft.com(...)tatable_methods.aspx
Zal best, maar aan de andere kant laten scripttaaltjes als Python een beginner juist de meest walgelijke bakken spaghetticode produceren. Waarom denk je dat je juist op informatica opleidingen met Java begint, omdat dat een "slechte" taal is?quote:Op woensdag 6 juli 2011 03:15 schreef keesjeislief het volgende:
tikken, opslaan, runnen en daar is je output al. Tegen de tijd dat je in de gaten hebt hoe je dit in Java/C++/C# voor elkaar hebt (lees: bij elkaar geklikt en gesleept hebt in een of andere ontzettende bloated editor) heb je in Python al een volwaardig programmaatje geschreven..
Ik gebruik zelf vaak een .Net Json library (http://json.codeplex.com/) die me objecten rechtstreeks van en naar JSON laat serializen.quote:Op woensdag 6 juli 2011 08:21 schreef X_FoutBijRegistratie het volgende:
Mijn eerste keuze is ook altijd XML omdat het vrij makkelijk en snel werkt.
JSON is eigenlijk bedoeld om te communiceren tussen een server (.Net, Java, PHP, wat je zelf wil) backend en een javascript frontend. XML is netter als je communiceert tussen bijvoorbeeld een .Net frontend en een Java backend en als je .Net naar .Net doet gewoon lekker met WCF werken en bij Java naar Java gewoon RMI.quote:Op woensdag 6 juli 2011 12:20 schreef Catbert het volgende:
[..]
Zal best, maar aan de andere kant laten scripttaaltjes als Python een beginner juist de meest walgelijke bakken spaghetticode produceren. Waarom denk je dat je juist op informatica opleidingen met Java begint, omdat dat een "slechte" taal is?
[..]
Ik gebruik zelf vaak een .Net Json library (http://json.codeplex.com/) die me objecten rechtstreeks van en naar JSON laat serializen.
Dit.quote:Op woensdag 29 juni 2011 21:01 schreef QBay het volgende:
De taal is van ondergeschikt belang. Het abstracte denken en de juiste mind-set is het belangrijkste!
Het maakt wel degelijk uit of je imperatief, object oriented of functioneel programmeert hoorquote:Op woensdag 29 juni 2011 21:01 schreef QBay het volgende:
De taal is van ondergeschikt belang. Het abstracte denken en de juiste mind-set is het belangrijkste!
Maakt ook wel degelijk uit. Vooral wat kosten betreft en user community.quote:Op woensdag 6 juli 2011 13:59 schreef MisterSqueaky het volgende:
[..]
Het maakt wel degelijk uit of je imperatief, object oriented of functioneel programmeert hoorDe mindsets verschillen nogal.
Binnen die "stijlvelden" maakt de taal die je kiest echter idd niet veel uit.
Write once, debug anywherequote:Op woensdag 6 juli 2011 13:56 schreef FkTwkGs2012 het volgende:
Java. Omdat daadwerkelijk platformonafhankelijk.
Was Python niet dat taaltje waarbij de opmaak van je code ook een semantieke betekenis heeft en waarbij je afschuwelijke __underscore__ shit-constructies moet maken? __Oogt__leesbaar__ja__.quote:Op woensdag 6 juli 2011 03:15 schreef keesjeislief het volgende:
@TS: neem Python. en de code is simpel en leesbaar genoeg
Hulde !quote:Op woensdag 29 juni 2011 21:50 schreef Ai_KaRaMBa het volgende:
Ik vind zelf (als C / C++ programmeur) het soms verdomd iritant dat je zelf geen invloed (of zelfs inzicht) hebt op de lifecycle van objecten in Java...
Java is op de zelfde manier platform onafhankelijk als BASICquote:Op woensdag 6 juli 2011 13:56 schreef FkTwkGs2012 het volgende:
Java. Omdat daadwerkelijk platformonafhankelijk, volledig gratis te gebruiken en distribueren, taal met toekomst.
Ik ben van C++ 'doorgestroomd' naar C# (keuze van de baas...) en herken dit ook. Ik voelde me in het begin doodongelukkig om objecten te instantieren en daarna niet te disposen, maar in de praktijk werkt de garbagecollection redelijk goed (om niet te zeggen dat je los-vaste objecten moet beschermen tegen ontijdige opruiming...)quote:Op woensdag 29 juni 2011 21:50 schreef Ai_KaRaMBa het volgende:
Ik vind zelf (als C / C++ programmeur) het soms verdomd iritant dat je zelf geen invloed (of zelfs inzicht) hebt op de lifecycle van objecten in Java...
Ach, het kan nog erger. Neem nou APL, dat is een write-only taal. Teruglezen, laat staan debuggen is bijkans onmogelijk.quote:
Nee, het is daarvoor ontwikkeld. Dat is wat anders. Het heeft t.o.v. XML het voordeel dat het minder overhead heeft. Daarnaast gebruik ik het gewoon om simpele config files e.d. in te lezen en zal het me een worst wezen waarvoor het 'bedoeld' is volgens sommigen.quote:Op woensdag 6 juli 2011 13:48 schreef Daeron het volgende:
JSON is eigenlijk bedoeld om te communiceren tussen een server
Ja, en daarom worden zoveel grote projecten gedaan in Javaquote:Op woensdag 6 juli 2011 18:09 schreef Raven_NL het volgende:
Java is op de zelfde manier platform onafhankelijk als BASIC
Java is een interpreter prut taaltje dat doet alsof het een grote jongen is door zijn interpreter een virtuele machine te noemen..
Platform onafhankelijk ? aan mijn hoela
Verder.. Wat je ook maakt in java , het ziet er op de een of andere manier altijd houtje touwtje uit...
Als dat al gebeurt, dan leert de beginner daar vervolgens van. Vervolgens ontwikkelt deze beginner zich tot een programmeur die weet wat het is om zowel OO, procedureel als functioneel in een taal te kunnen programmeren. Java is voor masochisten: mensen die het (blijkbaar) geen probleem vinden om binnen een netwerk van zinnige en vooral ook een hoop minder zinnige regels en constructies gedwongen worden te blijven, het (blijkbaar) geen probleem vinden om geen interactieve prompt te hebben en continu te moeten compileren en het gezeur van een compiler aan te moeten horen, het (blijkbaar) fijn vinden 5-10 maal zoveel regels code te schrijven als voor hetzelfde resultaat in Python nodig was geweest.quote:Op woensdag 6 juli 2011 12:20 schreef Catbert het volgende:
[..]
Zal best, maar aan de andere kant laten scripttaaltjes als Python een beginner juist de meest walgelijke bakken spaghetticode produceren.
Nee, ik weet het niet, misschien omdat Java nog steeds zo populair is in het bedrijfsleven. Maar Java heeft zijn hoogtepunt gehad en gaat langzaam maar zeker het onderspit delven tegen de volgende generatie programmeertalen, zie bijv. de Tiobe index, waar talen als Java en C++ de laatste 10 jaar een dalende trend laten zien terwijl Python, Lua (en C#) een duidelijke stijgende trend kennen.quote:Waarom denk je dat je juist op informatica opleidingen met Java begint, omdat dat een "slechte" taal is?
Heb je wel eens met Python gewerkt? Ieder zijn voorkeur, maar dat Pythoncode veel leesbaarder is daar is vrijwel iedereen het wel over eens.quote:Op woensdag 6 juli 2011 17:54 schreef vriendelijkevriend het volgende:
[..]
Was Python niet dat taaltje waarbij de opmaak van je code ook een semantieke betekenis heeft en waarbij je afschuwelijke __underscore__ shit-constructies moet maken? __Oogt__leesbaar__ja__.
hier ook al trollen. Damn zeg. Ts google ff op c# vs java. Veel nuttige info over 2 goede omgevingen.quote:Op woensdag 6 juli 2011 18:09 schreef Raven_NL het volgende:
[..]
Java is op de zelfde manier platform onafhankelijk als BASIC
Java is een interpreter prut taaltje dat doet alsof het een grote jongen is door zijn interpreter een virtuele machine te noemen..
Platform onafhankelijk ? aan mijn hoela
Verder.. Wat je ook maakt in java , het ziet er op de een of andere manier altijd houtje touwtje uit...
De meeste mensen die ermee beginnen die hoor ik over de message passing syntax:quote:Op dinsdag 5 juli 2011 17:42 schreef retorbrapi het volgende:
[..]
Ik vraag me af wat je 'verschrikkelijk' vindt aan Objective-C?
| 1 2 | Gereedschapskist *kist = [Gereedschapskist initMetKleur:@"rood"]; [kist pak:@"hamer" enDoe:@"lekker gewelddadig"]; |
| 1 2 | Gereedschapskist kist = new Gereedschapskist("rood"); kist.doe("hamer", "lekker gewelddadig"); |
Met Java zit je gevangen in hun framework als je platformonafhankelijk wil zijn. Zodra je de leuke OS-services wil gaan aanspreken waarin het framework niet voorziet, dan ben je niet platformonafhankelijk meer. Bijvoorbeeld als je onder OS X van die Java-bindings naar Cocoa (het framework dat je zou moeten gebruiken daar) gaat gebruiken om van de leuke OS X features gebruik te kunnen maken.quote:Op woensdag 6 juli 2011 22:58 schreef FkTwkGs2012 het volgende:
[..]
hier ook al trollen. Damn zeg. Ts google ff op c# vs java. Veel nuttige info over 2 goede omgevingen.
Niet platformonafhankelijk. Java niet? Je weet waarschijnlijk niet half hoeveel stuff jij gebruikt die een vorm van java gebruiken. Telefoons, navigatiesystemen, medische systemen. Name it.
Ja, ik heb helaas ooit een p2p-client gemaakt in Python.quote:Op woensdag 6 juli 2011 22:39 schreef keesjeislief het volgende:
Heb je wel eens met Python gewerkt? Ieder zijn voorkeur, maar dat Pythoncode veel leesbaarder is daar is vrijwel iedereen het wel over eens.
Als je inderdaad JavaScript bedoeld en geen Java: ieder zichzelf respecterende frontendquote:Op vrijdag 1 juli 2011 17:36 schreef IDisposable het volgende:
JavaScript is echt horror. Het is moeilijk te debuggen/onderhouden. Daarnaast heb je te maken met compatibiliteits obstakels. En omdat het bovenop de browser stack draait, zijn de foutmeldingen over het algemeen zo generiek dat je er bijna niets meer mee kunt doen.
In de praktijk is dat geen belemmering, omdat je sowieso whitespace gebruikt als je je code een beetje overzichtelijk wilt houden. Het netto-effect is dat je geen haakjes om je blokken hoeft te plaatsen, niets meer, niets minder.quote:Op woensdag 6 juli 2011 23:19 schreef Henno het volgende:
[..]
Dan Python... puike taal op het hele verplichte indenten na dan.
"Ja dat verplicht je tot netjes werken!".
Misschien, maar het levert wel onnodige ambiguïteiten op. Ik vind het nou juist zo leuk dat ik bv. in Eclipse een coding style kan instellen voor m'n Java, en met 1 key combo al m'n code zo floeps, in de gewenste stijl kan gooien voordat het versiebeheer in gaat.
Hoe moet dat met Python als ie niet weet of die niet geïndente regel nou wel of niet bij die ene functie hoort? Beide gevallen zouden geldige code kunnen zijn! Met accolades is het tenminste altijd duidelijk, hoe de whitespace er ook bij hangt.
[..]
Ik had precies de tegenovergestelde ervaring. Ik heb in de loop van de tijd verschillende pogingen gedaan om Java onder de knie te krijgen, maar ik kan echt niet wennen aan alle overbodige rompslompcode en regeltjes (en wilde het ook niet meer vanaf het moment dat ik Python leerde kennen).quote:Op woensdag 6 juli 2011 23:40 schreef vriendelijkevriend het volgende:
[..]
Ja, ik heb helaas ooit een p2p-client gemaakt in Python.
voorbeeld?quote:Op donderdag 7 juli 2011 00:00 schreef keesjeislief het volgende:
[..]
Ik had precies de tegenovergestelde ervaring. Ik heb in de loop van de tijd verschillende pogingen gedaan om Java onder de knie te krijgen, maar ik kan echt niet wennen aan alle overbodige rompslompcode en regeltjes (en wilde het ook niet meer vanaf het moment dat ik Python leerde kennen).
"Als je platform specifieke dingen wilt doen ben je niet platform onafhankelijk". No shit sherlockquote:Op woensdag 6 juli 2011 23:30 schreef Henno het volgende:
Met Java zit je gevangen in hun framework als je platformonafhankelijk wil zijn. Zodra je de leuke OS-services wil gaan aanspreken waarin het framework niet voorziet, dan ben je niet platformonafhankelijk meer. Bijvoorbeeld als je onder OS X van die Java-bindings naar Cocoa (het framework dat je zou moeten gebruiken daar) gaat gebruiken om van de leuke OS X features gebruik te kunnen maken.
Dat heb je in C net zo goed. Als je in C gebruik maakt van Windows-specifieke functionaliteit dan gaat dat ook niet op Linux werken. Daarom abstraheer je de OS specifieke meuk in een aparte laag, dat geldt voor elk cross-platform project. Maar Java is wel, hoe dan ook, in de basis cross platform. Vergeet niet dat je de gecompileerde classes niet hoeft te hercompileren, dat doet de VM voor je.quote:En dan kan je net zo goed gewoon de boel in Objective-C gaan coden, want werken op Windows en Linux etc. doet het niet meer in die hoedanigheid
Als je een desktop applicatie bouwt die onder zo'n beetje alle OSen moet werken ben je gewoon dom als je dat niet in een platform onafhankelijke taal doet.quote:Plus: Java heeft de footprint van een olifant in een porseleinkast met die hele VM eronder. Leuk als academisch taaltje om de principes te leren, mede omdat het je genadeloos terugfluit als je niet netjes werkt... maar een serieuze desktop applicatie zou ik er zelf nooit mee schrijven.
Je bedoelt dus dat je OO programmeren niet snapt en daarom niet doorgezet hebt. Da's dezelfde reden dat een hoop mensen maar in PHP blijven kutten omdat dat wel zo'n lekker 'duidelijke' taal is. Hun argument is ook dat "print "Blaat"; een stuk 'duidelijker' is dan System.out.println("Blaat");. Nou, als dat je 'argument' is, prima. Zulke mensen moeten bij Java wegblijven want die halen alleen maar het gemiddelde niveau omlaagquote:Op donderdag 7 juli 2011 00:00 schreef keesjeislief het volgende:
Ik had precies de tegenovergestelde ervaring. Ik heb in de loop van de tijd verschillende pogingen gedaan om Java onder de knie te krijgen, maar ik kan echt niet wennen aan alle overbodige rompslompcode en regeltjes (en wilde het ook niet meer vanaf het moment dat ik Python leerde kennen).
Een paar simpele devvers die wat roepen zegt nog weinig over de echte wereld. Sorry johquote:Op donderdag 7 juli 2011 11:06 schreef Daeron het volgende:
Ach, hoe minder Java devvers hoe meer werk er voor mij is
quote:Op donderdag 7 juli 2011 09:58 schreef Catbert het volgende:
[..]
"Als je platform specifieke dingen wilt doen ben je niet platform onafhankelijk". No shit sherlock
[..]
Dat heb je in C net zo goed. Als je in C gebruik maakt van Windows-specifieke functionaliteit dan gaat dat ook niet op Linux werken. Daarom abstraheer je de OS specifieke meuk in een aparte laag, dat geldt voor elk cross-platform project. Maar Java is wel, hoe dan ook, in de basis cross platform. Vergeet niet dat je de gecompileerde classes niet hoeft te hercompileren, dat doet de VM voor je.
[..]
Als je een desktop applicatie bouwt die onder zo'n beetje alle OSen moet werken ben je gewoon dom als je dat niet in een platform onafhankelijke taal doet.
[..]
Je bedoelt dus dat je OO programmeren niet snapt en daarom niet doorgezet hebt. Da's dezelfde reden dat een hoop mensen maar in PHP blijven kutten omdat dat wel zo'n lekker 'duidelijke' taal is. Hun argument is ook dat "print "Blaat"; een stuk 'duidelijker' is dan System.out.println("Blaat");. Nou, als dat je 'argument' is, prima. Zulke mensen moeten bij Java wegblijven want die halen alleen maar het gemiddelde niveau omlaag![]()
Ach, er zijn talloze voorbeelden, maar een ding wat ik me nog duidelijk herinner is dat gekloot met verschillende constructors. Neem dit voorbeeldje van internet, een class Employee die met een verschillend aantal argumenten geinitieerd kan worden. In Java krijg je:quote:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | public class Employee { private String myEmployeeName; private int myTaxDeductions = 1; private String myMaritalStatus = "single"; //--------- constructor #1 ------------- public Employee(String EmployeName) { this(employeeName, 1); } //--------- constructor #2 ------------- public Employee(String EmployeName, int taxDeductions) { this(employeeName, taxDeductions, "single"); } //--------- constructor #3 ------------- public Employee(String EmployeName, int taxDeductions, String maritalStatus) { this.employeeName = employeeName; this.taxDeductions = taxDeductions; this.maritalStatus = maritalStatus; } |
| 1 2 3 4 5 | class Employee(): def __init__(self, employeeName, taxDeductions=1, maritalStatus="single"): self.employeeName = employeeName self.taxDeductions = taxDeductions self.maritalStatus = maritalStatus |
Dat ik Perl gebruik om een bak tekst te om te klussen betekent ook niet dat Perl een goede taal is om mee te beginnen.quote:Op donderdag 7 juli 2011 12:50 schreef keesjeislief het volgende:
. Alle grotere programma's, waaronder administratieve software en vooral veel code voor wetenschappelijke doeleinden, die ik geschreven heb zijn volledig OO, maar als ik snel een progje wil dat een bergje foto's herschaalt en hernoemt kan ik dat in 10 regels doen en heb ik geen taal nodig die stampvoetend eist dat ik per se OO gebruik. Python laat mij als programmeur de beste benadering kiezen en laat me o.a. daarmee heel snel en efficient zijn.
Nou, wat een verschil. Alsof daar je tijd in gaat zitten bij het coden.quote:Ach, er zijn talloze voorbeelden, maar een ding wat ik me nog duidelijk herinner is dat gekloot met verschillende constructors. Neem dit voorbeeldje van internet, een class Employee die met een verschillend aantal argumenten geinitieerd kan worden. In Java krijg je:
[ code verwijderd ]
In Python is dat veel simpeler en eleganter:
[ code verwijderd ]
Dat lijkt me geen reden om een taal 'verschrikkelijk' te vinden. Als het al zo'n verschil uitmaakt zou ik het eerder een voordeel vinden, want het maakt de code veel duidelijker. Ik vraag me echt af wat de redenen van Trollface zijn want ik vind het zelf echt een hele plezierige taal.quote:Op woensdag 6 juli 2011 23:19 schreef Henno het volgende:
[..]
De meeste mensen die ermee beginnen die hoor ik over de message passing syntax:
[ code verwijderd ]
i.p.v. iets als in Java of PHP:
[ code verwijderd ]
We zijn zo ongelooflijk gewend aan de syntax van voorbeeld twee, dat Objective-C er gewoon alien uitziet voor veel mensen. Merk op dat er bij voorbeeld 1 misschien meer tekst staat, maar dat het wel zichzelf beter uitlegt. Je roept geen methode aan, maar je stuurt een bericht. In dit geval het bericht kist:pak:enDoe. Je ziet dat je aan parameters een naam kan hangen, wat je code zelf juist leesbaarder kan maken doordat je er een betekenis aan hangt.
Ik denk dat ik als Microsoft certified engineer wel weet waar ik over praat ja.quote:Op woensdag 6 juli 2011 19:14 schreef Catbert het volgende:
[..]
Nee, het is daarvoor ontwikkeld. Dat is wat anders. Het heeft t.o.v. XML het voordeel dat het minder overhead heeft. Daarnaast gebruik ik het gewoon om simpele config files e.d. in te lezen en zal het me een worst wezen waarvoor het 'bedoeld' is volgens sommigen.
[..]
Ja, en daarom worden zoveel grote projecten gedaan in Java![]()
Kneus. Als je niet weet waar je 't over hebt, hou dan je mond. Met je 'geinterpreteerd'
Python is een uitstekende taal om mee te beginnen. Ik heb echt geen zin om alle argumenten nog een keer te gaan herhalen, hier staat bijv. een goed stuk van een Amerikaanse prof. CS en hier een stuk tekst van een mailing list:quote:Op donderdag 7 juli 2011 12:54 schreef Catbert het volgende:
[..]
Dat ik Perl gebruik om een bak tekst te om te klussen betekent ook niet dat Perl een goede taal is om mee te beginnen.
quote:Carlos,
John also has an excellent textbook: Python Programming: An
Introduction to Computer Science. We are in our second year of using
this book in our CS1 class and are very happy with it. Because of
its power and simplicity we have found that students enjoy the class
and can do more interesting projects in their first course than they
could with Java.
For example my students are now (in week 7 of the semester) writing
functions to enlarge images, smooth the enlarged images, and do edge
detection on the images the image library is so simple that the
students can really concentrate on the problem solving parts of the
exercise. For me these are great introductory exercises that get
them using nested loops, simple conditionals, and functions. I think
the students have more fun and are more successful when they can see
the results of their work visually.
We also use Python in our CS2 course which focuses on data
structures, and one of our colleagues is using Python in his advanced
data structures course this year. The great thing about using Python
in a data structures course is that there is almost a one-to-one
mapping from pseudocode to Python. So the students can really see
the how the concepts get mapped to code without all the extra
overhead that a language like Java imposes.
Of course we also teach and use Java but we don't introduce our
students to Java until the third course in our introductory
sequence. The nice thing about holding off on Java until the third
course is that the students now know enough computer science that we
can work on bigger and more interesting problems while they are
learning Java. In addition I can now use Python to compare and
contrast as I introduce new language concepts in Java.
Brad
--
Brad Miller, PhD
Assistant Professor
Luther College
Ja, dat gaat het, samen met die honderden andere kleinere en grotere voorbeelden van constructies waarin Python eleganter en intuitiever is. Daarom ook zo'n 5-10 maal minder regels code in Python voor dezelfde taak.quote:Nou, wat een verschil. Alsof daar je tijd in gaat zitten bij het coden.
Python is goud waard, maar wordt meestal gebruikt als script taal in een of andere toepassing die dus in een andere programmeertaal echt gemaakt wordt. Bijvoorbeeld Blender: Geschreven in C/C++ en gebruikt Python als script taal voor add ons en dergelijke.quote:Op donderdag 7 juli 2011 14:03 schreef keesjeislief het volgende:
[..]
Python is een uitstekende taal om mee te beginnen. Ik heb echt geen zin om alle argumenten nog een keer te gaan herhalen, hier staat bijv. een goed stuk van een Amerikaanse prof. CS en hier een stuk tekst van een mailing list:
[..]
[..]
Ja, dat gaat het, samen met die honderden andere kleinere en grotere voorbeelden van constructies waarin Python eleganter en intuitiever is. Daarom ook zo'n 5-10 maal minder regels code in Python voor dezelfde taak.
Post er eens een paar dan?quote:Op donderdag 7 juli 2011 14:03 schreef keesjeislief het volgende:
Ja, dat gaat het, samen met die honderden andere kleinere en grotere voorbeelden van constructies waarin Python eleganter en intuitiever is. Daarom ook zo'n 5-10 maal minder regels code in Python voor dezelfde taak.
quote:Op donderdag 7 juli 2011 13:55 schreef Raven_NL het volgende:
[..]
Ik denk dat ik als Microsoft certified engineer wel weet waar ik over praat ja.
Java is een interpreter taal net als basic. Dat de code in een andere verborgen taal wordt omgezet om dit te verbergen doet uiteraard niet terzake.
Dit is ook een van de belangrijkste verschillen in werking tussen C# (.NET framework) en java
C# is WEL een taal die naar machinecode gecompileerd wordt.
En noem eens EEN groot stand alone programma dat in java geschreven is...
Inderdaad. Nooit van MSIL gehoord kennelijk.quote:Op donderdag 7 juli 2011 14:16 schreef Daeron het volgende:
Dan zou ik toch eens heel gauw je certificaat inleveren want C# is net als Java een taal die naar bytecode omgezet wordt en daarna met een JIT compiler runtime wordt omgezet naar machine code.
Kan je alleen maar dom doen ?quote:Op donderdag 7 juli 2011 14:16 schreef Daeron het volgende:
[..]
Dan zou ik toch eens heel gauw je certificaat inleveren want C# is net als Java een taal die naar bytecode omgezet wordt en daarna met een JIT compiler runtime wordt omgezet naar machine code.
Juist....quote:Op donderdag 7 juli 2011 14:24 schreef Catbert het volgende:
Ik denk dat je sowieso beter niet met C++ kunt beginnen. Later C++ leren is IMHO een aanrader, net zoals iedere goeie programmeur IMHO wel eens dingen in assembly gedaan heeft, maar om mee te beginnen nee. Ik weet nog dat ik toen ik met C++ begon gewoon 2 dagen bezig ben geweest met een suffe fout van me (schrijven naar geheugen dat als "read only" gealloceerd was ofzo) en doodleuk een "kernel panic" voor m'n neus kreeg. Dan is Java (of C#) toch een heel stuk n00b-vriendelijker
.Net spul wordt naar MSIL gecompileerd, java naar bytecode. Beiden zijn binaire-code 'like' die dan door de VM (ja, .Net heeft ook een VM) omgezet worden naar platform-specifieke binaire code.quote:Op donderdag 7 juli 2011 14:24 schreef Raven_NL het volgende:
C# ( en andere .NET code) wordt eenmalig gecompileerd voor de machine waar het programma op gaat draaien. Alleen als code of framework veranderen is nieuwe compilatie nodig.
Java wordt net zo goed als .Net at runtime omgezet naar platform specifieke code.quote:Java wordt omgezet naar bytecode die vervolgens regel voor regel tijdens de uitvoering wordt geinterpreteert voor de java virtual machine.
En dat laatste is gewoon een ronduit trieste opmerking.quote:Er zijn op dit punt behoorlijk wat verschillen tussen C# en java..
Maarja een C# ontwikkelaar rijdt ook meestal in een dikkere auto dan een java programmeurtje
Als je het ergens niet mee eens bent, vertel gerust. Maar met zo'n opmerking kan ik niet zo veel.quote:
http://en.wikipedia.org/wiki/Common_Intermediate_Languagequote:Op donderdag 7 juli 2011 14:24 schreef Raven_NL het volgende:
[..]
Kan je alleen maar dom doen ?
C# ( en andere .NET code) wordt eenmalig gecompileerd voor de machine waar het programma op gaat draaien. Alleen als code of framework veranderen is nieuwe compilatie nodig.
Java wordt omgezet naar bytecode die vervolgens regel voor regel tijdens de uitvoering wordt geinterpreteert voor de java virtual machine.
Er zijn op dit punt behoorlijk wat verschillen tussen C# en java..
Maarja een C# ontwikkelaar rijdt ook meestal in een dikkere auto dan een java programmeurtje
Tadaa, Java en C# (of eigenlijk elke .Net taal) worden beide naar bytecode omgezet en daarna runtime omgezet met een JIT-compiler.quote:During compilation of .NET programming languages, the source code is translated into CIL code rather than platform or processor-specific object code. CIL is a CPU- and platform-independent instruction set that can be executed in any environment supporting the Common Language Infrastructure,[2] such as the .NET runtime on Windows, or the cross-platform Mono runtime. In theory, this eliminates the need to distribute different executable files for different platforms and CPU types. CIL code is verified for safety during runtime, providing better security and reliability than natively compiled executable files.
Wat klopt daar niet aan? Waarom zou je iemand die net begint memory management door de strot heen duwen? Sowieso, ik wil me er niet eens mee bezig houden, de klant betaalt voor functionaliteit, niet voor basale dingen die ook voor je gedaan kunnen wordenquote:
Mensen hebben verschillende definities van platform-onafhankelijk. Java kan platform-afhankelijk zijn als je platform-afhankelijke libraries gebruikt. C++ code (niet de binaries) kan platform-onafhankelijk zijn; applicatie die alleen van de standaard libs gebruik maakt kun je zonder wijzigingen voor zowel windows als linux compileren. Voor en tegenstanders (wat an sich al triest is, 'tegen' een programmeertaal zijn) van bepaalde talen hanteren verschillende definities al naar gelang wat hun het best uitkomt.quote:Op donderdag 7 juli 2011 14:32 schreef Pheno het volgende:
Ik zie in de OP dat C en C++ als platformonafhankelijk worden gezien door TS. Maar een C-programma gecompileerd op windows gaat op mijn mac niet werken, ik zal moeten hercompileren.
Platformonafhankelijkheid wil niet per definitie zeggen dat het op andere platformen kan draaien zonder opnieuw te compileren. Als het goed is kan je trouwens gewoon onder Windows je C applicatie compilen voor het Mac OS platform en andersom.quote:Op donderdag 7 juli 2011 14:32 schreef Pheno het volgende:
Ik zie in de OP dat C en C++ als platformonafhankelijk worden gezien door TS. Maar een C-programma gecompileerd op windows gaat op mijn mac niet werken, ik zal moeten hercompileren.
[..]
Wat klopt daar niet aan? Waarom zou je iemand die net begint memory management door de strot heen duwen? Sowieso, ik wil me er niet eens mee bezig houden, de klant betaalt voor functionaliteit, niet voor basale dingen die ook voor je gedaan kunnen worden
Dat is de definitie van platform-onafhankelijk die bijvoorbeeld Sun voor Java gebruikt. Er is niet maar 1 definitie, ieder heeft zo z'n eigen definitie.quote:Op donderdag 7 juli 2011 14:33 schreef Daeron het volgende:
Platformonafhankelijkheid wil niet per definitie zeggen dat het op andere platformen kan draaien zonder opnieuw te compileren.
Ik zie platformonafhankelijk als overal te draaien zonder hercompilatie, anders ben je het eenvoudigweg niet. Je bent als programma toch afhankelijk waarop je gecompileerd bent en waar je op dat moment gaat draaienquote:Op donderdag 7 juli 2011 14:33 schreef Daeron het volgende:
[..]
Platformonafhankelijkheid wil niet per definitie zeggen dat het op andere platformen kan draaien zonder opnieuw te compileren. Als het goed is kan je trouwens gewoon onder Windows je C applicatie compilen voor het Mac OS platform en andersom.
Dat BLIJFT een compromis... en zal nooit zo goed werken als een specifiek voor een machine geschreven programma in C++ bvquote:Op donderdag 7 juli 2011 14:33 schreef Daeron het volgende:
[..]
Platformonafhankelijkheid wil niet per definitie zeggen dat het op andere platformen kan draaien zonder opnieuw te compileren. Als het goed is kan je trouwens gewoon onder Windows je C applicatie compilen voor het Mac OS platform en andersom.
Dat klopt, maar ik ben het eens met Sun. Ik moet een programma kunnen compileren op een as/400 en kunnen gebruiken op een windows machine, sort a speak.quote:Op donderdag 7 juli 2011 14:36 schreef Catbert het volgende:
[..]
Dat is de definitie van platform-onafhankelijk die bijvoorbeeld Sun voor Java gebruikt. Er is niet maar 1 definitie, ieder heeft zo z'n eigen definitie.
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |