Programmeren
28 december 2003 - 23:20    reactie #25
geplaatst door: Bibster

Citaat
iPanda om 22:47, 28-12-2003
Echt programmeren en scripten zijn twee verschillende dingen, dus maak een keuze.

Dan wil ik wel eens't verschil weten....

Ik wil niet eigenwijs zijn, maar't verschil tussen beiden zou ik zelf zo 1,2,3 niet kunnen geven. Misschien omdat bij scripts dingen 'extern' (Buiten compiler/interpeter om) gebeuren ??

En is perl dan een scripttaal of programmeertaal?

gr. Paul

iMac 15"/800/80/SD/512 + PowerMate + iMic + iBook 12"/800/30/CD/640/bt + iPod +Motu 828 + HP rp5430 (hehe)
Programmeren
28 december 2003 - 23:39    reactie #26
geplaatst door: hitchhiker
Er zijn wel belangrijke verschillen, maar als je wilt leren programmeren is een scripttaal als opstapje nog niet zo slecht.
Volgens mij is het belangrijkste verschil dat je met een script een programma (of meerdere) bestuurt en met een échte programmeertaal de hele computer, die je dus ook makkelijk kunt laten crashen bijv. als je ergens een pointertje verkeerd hebt. Dat is met een scripttaal meestal onmogelijk. Een scripttaal beperkt je ook tot wat het programma('s) al kan. Je kan op die manier met Exploder geen postscripttekeningen maken of met Illustrator de web op. Maar het analyseren van het probleem, het afvangen van fouten, gebruikersinterface, debuggen dat soort dingen kun je tot op zekere hoogte met een scripttaal ook leren.
Perl is volgens mij een scripttaal, net zoals Applescript,f ASP of PHP bijv.
Programmeren
30 december 2003 - 07:34    reactie #27
geplaatst door: iPanda
ActiveX heeft geen sandbox, maar alleen een mogelijkheid om er achter te komen wie het component heeft gemaakt. Een ActiveX-component is verder geschreven in een standaard Windows-programmeertaal die zo je hele systeem kan benaderen (en verneuken). Een Java-applet draait wel weer in een sandbox.
Programmeren
30 december 2003 - 22:45    reactie #28
geplaatst door: hitchhiker
Natuurlijk er zijn altijd weer uitzonderingen. Er zijn ook nog plugins bijv. die wisselend dingen wel en niet mogen/kunnen. Maar over het algemeen is het toch zo dat een script een programma iets laat doen (het woord zegt het eigenlijk al) en dus in principe beperkt wordt door wat dat programma kan. Applescript is best een aardig voorbeeld wat dat betreft. Het kan zelf een beetje rekenen, met strings klooien en een dialog laten zien. Het gros van het echte werk laat het doen door een of ander programma. Het heeft ook niet zoveel zin om daar dan een complier voor te schrijven, het zware werk wordt immers door een ander gedaan. Unix script idem dito. Een shellscript kan bijv. niet zelf een file kopiëren dat laat het fijn door cp doen. Een script is een soort chef die dingen regelt en organiseert en maar zelden z'n eigen handen vuil maakt. Met Java of C moet je juist je eigen handen vuil maken om iets te bereiken.
Programmeren
31 december 2003 - 14:47    reactie #29
geplaatst door: hitchhiker
Had ik dan gezegd dat scripttalen simpel zijn of eenvoudig en nauwelijks ergens geschikt voor? Ik heb gezegd dat scripttalen beperkt worden door de programma's die ze aansturen. Kun je met Applescript een foto vervagen? Niet dat ik weet, maar het kan het wel door Photoshop laten doen, maar ook niet meer dan dat. Kan Photoshop het niet (of een ander programma) dan is het afgelopen en gaat het feest niet door. Ik zie je ook nog geen CDROM-driver in Javascript schrijven of de volgende versie van Tomb Raider in Applescript.
Zoals ik al eerder zei dan het woord "scripten" de lading aardig denkt. De kracht van een script zit 'm niet in wat voor werk het zelf verzet, maar hoe ie anderen zover krijgt dat ze dat georganiseerd en leuk samenwerkend kan laten doen.
Programmeren
14 januari 2004 - 18:38    reactie #30
geplaatst door: keez
Goh, mac gebruikers grijpen toch iedere discussie weer aan om te gaan lopen zeiken op windows. Als je windows slecht vind prima, maar gebruik dan gewoon iets anders en hou op met zeuren. Ik gebruik het allebei en het heeft ook allebei voor- en nadelen, what else is new?

Oke dat was eruit...  Deze jongen heeft een vraag over hoe hij het beste kan leren programmeren, niet over de discussie of het nou beter is op een mac of op een pc, dat maakt namelijk niets uit. Programmeren is een manier van denken en als je die onder de knie hebt kun je iedere taal in notime leren. De ervaring leert dat mensen het beste met een scripting taal kunnen beginnen om de basis principes (operators, statements e.d.) te snappen. Zonder nu al meteen met een hoop declaraties en regels vooraf te moeten starten. Daarbij komt dat een scripting taal zich perfect leent voor try and error, wat in het begin er handig is als je maar wat aanklooit.

Begin daarom met php, asp of javascript, formuleer een opdracht en kopieer erop los. Dat wil zeggen, struin het net af naar mensen die voorbeeldjes hebben, en gebruik deze en probeer ze te snappen.
Als je het gevoel hebt dat je computer enigszins snapt, stap dan over naar een volwassen programmeer taal (java,c#,c++).  :barf:

iMac 20FP/512/160/SD/Bluetooth, iMac 17FP/512/160/SD
Programmeren
14 januari 2004 - 19:21    reactie #31
geplaatst door: Eiji
dank voor je "moderate bericht", maar ik hebtoch best wat ervaring met computers, ik weet van mezelf al dat ik niet meteen aan programmeren moet beginnen, zonder eerst een scriptaal te begrijpen, daarom heb ik al javascript gedaan en ben bezig met een Java cursus (windows manuel :dozingoff: ).

Bedenk dus wel, dat ik deze vraag dan ook post, omdat ik de computer al in scriptaal begrjp en nu wil overstappen naar het serieuse werk. Zoals ik mijn toekomst wil, wordt het mijn werk en is het dus handig om vroeg te beginnen, vroeg geleerd is oud gedaan (dass toch ut spreekwoord?).

BTW zijn er ook nederlandstalige MacOS X boeken die programmeren behandelen? Ik heb al een chapter uit een engels boek gelezen (legaal, stond op een website over het boek), maar engels is toch wel pittig, niet onmogelijk, maar toch pittig.

Gezocht: powermac G4 800mhz of meer
[MF] Eiji -> www.macfreakclan.cjb.net
Programmeren
17 januari 2004 - 21:28    reactie #32
geplaatst door: hitchhiker
Huh? Verkeerde draadje keez? :devil:
Programmeren
17 januari 2004 - 23:48    reactie #33
geplaatst door: Fredrik
Mwah er werd wel geklaagd over ActiveX, dus dat is wel een beetje windows-bashen  :withstupid:

En om nog even op de originele vraag terug te komen, Java lijkt me de beste keuze. Je kan er veel mee, van simpele programmaatjes tot ingewikkeldere dingen, en het is nog cross-platform ook..

(Bewerkt door Fredrik om 23:48, 17-01-2004)

Join de macfreak groep op http://www.last.fm
Programmeren
18 januari 2004 - 02:37    reactie #34
geplaatst door: Thomas
Java lijkt me de meest voordahandliggende, op universiteiten leer je dat ook als eerst.
En met het gratis jEdit en Sun's SDK kom je al een heel eind...

Thomas

Wat ik hier uitkraam is puur mijn persoonlijke mening.
Programmeren
18 januari 2004 - 15:21    reactie #35
geplaatst door: hitchhiker

Citaat
iPanda om 7:34, 30-12-2003
ActiveX heeft geen sandbox, maar alleen een mogelijkheid om er achter te komen wie het component heeft gemaakt. Een ActiveX-component is verder geschreven in een standaard Windows-programmeertaal die zo je hele systeem kan benaderen (en verneuken). Een Java-applet draait wel weer in een sandbox.

Is dit dan niet waar Fredrik?

Programmeren
18 januari 2004 - 17:43    reactie #36
geplaatst door: Fredrik
Het is gerechtvaardigd windowsbashen  :wink:
En ik ben het helemaal met jullie eens hoor, het is prut, dat ActiveX...
Join de macfreak groep op http://www.last.fm
Programmeren
19 januari 2004 - 17:00    reactie #37
geplaatst door: keez
 :sleepy:
iMac 20FP/512/160/SD/Bluetooth, iMac 17FP/512/160/SD
Programmeren
21 januari 2004 - 14:21    reactie #38
geplaatst door: iPanda
M'n vriendin moest weten hoeveel woorden een door haar geschreven stukje had. Nou wist ik dat niet te vinden in Open Office (inmiddels wel), dus heb ik in Cocoa een service (voorziening) geschreven wat het aantal woorden in je selectie telt.
Leuk, Objective-C en leuk Cocoa. Veel geleerd, veel lol gehad met uitzoeken, maar ik weet zeker dat ik het sneller in Java had kunnen schrijven. Cocoa is leuk, je kan er erg snel programma's met User Interfaces mee schrijven, maar de libraries zijn op delen wat achterhaald. NeXTstep liep destijds enorm voor, is nog steeds onovertroffen om snel goed georganiseerde UI apps te schrijven, maar er is nu zoveel functionaliteit voor Java beschikbaar dat de standaardfunctionaliteit van vnl. de FoundationKit door Java wordt overtroffen. En dat komt nog bij het hele retain-release-verhaal van Objective-C. In Java hoef je je gewoon niet druk te maken om de levensduur van je objecten. In Objective-C wel. En dat maakt Java net wat prettiger om in te programmeren.

Ze zeggen altijd wel dat als je Acqua apps wil maken dat je dat het best in Cocoa kan doen en je Java alleen moet gebruiken om pure Java apps te maken, maar ik heb het vermoeden dat Cocoa-Java het beste is van 2 werelden. Een robuustere en iets simpelere (en algemenere) programmeertaal, maar wel met alle mogelijkheden van Cocoa.

Programmeren
21 januari 2004 - 20:53    reactie #39
geplaatst door: Reflex
Ik ben het niet met je eens over het retain-release verhaal.

Wanneer je absolute controle wil over je objecten (ok, dan is Obj-C nog niet zo een geweldig voorbeeld, maar C(++) beter) dan moet je duidelijk geen java hebben. Daarbij vind ik het 'eng' om een environment over mijn objecten te laten beslissen :-)

Ook ben ik van mening dat wanneer programmeurs geen aandacht hoeven besteden aan het geheugen beheer/verbruik van hun programmas, dit toch tot slordigheid leidt wanneer er WEL op geheugen gelet moet worden. (als je bijv. wat meer lowlevel gaat).

je zegt dat java meer functionaliteit heeft, ik neem aan dat je daarmee doelt op de standaard APIs die je hebt om met een regel een TCP verbinding op te zetten et all. Indeed, makkelijker zal het zijn, maar het is toch niet mijn deal.

Wellicht zijn het ook wel gewoon 2 verschillende typen programmeurs hoor :-) ik persoonlijk heb het veel meer op het low-level werk, en zie mezelf nog wel aan dingen als filesystems werken in de wellicht niet al te verre toekomst. en de ander maakt graag user apps, waarvoor Cocoa en Java bij uitstek geschikt zijn.

God has a hard on for Marines, because we kill everything we see. He plays His games, we play ours. To show our appreciation for so much power, we keep heaven packed with fresh souls. God was here before the Marine Corps, so you can give your heart to Jesus, but your ass belongs to the corps.
Programmeren
21 januari 2004 - 21:24    reactie #40
geplaatst door: iPanda
Hoi Reflex, er zijn zeker verschillende programmeurs, dat heb ik wel vaker gemerkt. Ik ben zelf niet zo'n low-level programmeur, alhoewel ik me enorm heb vermaakt vroeger met het schrijven van een webserver en een mailclient. Maar ook dat was eigenlijk geen lowlevel-werk, want ik kon al gebruik maken van een hoop standaardlibraries. Ach, je hebt low-level en low-level zullen we maar zeggen.  :wink:
Een ex-collega van me heeft z'n eigen filesysteem voor de Amiga geschreven, dat was pas lowlevel! Toen we samen aan een nieuw project begonnen begon hij ook al gelijk over performance en optimalisaties, nog voordat we een ontwerp hadden  :sigh:
Ik ben weer iemand die een hoop lol haalt juist uit een technisch ontwerp, maar ik vermaak me ook met de implementatie van dat ontwerp.

Ach, software ontwikkelen is net als uien pellen (maar dan met minder tranen). Je komt steeds weer een nieuwe interessante laag tegen, met z'n eigen uitdagingen. Heel lowlevel bezig zijn is erg leuk, maar ook als je gebruik maakt van standaard libraries kom je complexiteiten tegen die je moet leren begrijpen en mee moet leren werken.

Ik geloof ook niet dat er ooit een programmeertaal wordt ontworpen waarmee je door het tekenen van een simpel diagram al een programma kan ontwerpen. Een collega beweerde dat Model Driven Architecture (MDA) zoiets was, omdat je vanuit UML-diagrammen code kan genereren, maar toen hij begon te laten zien dat je de relaties tussen UML-objecten kon beschrijven via een of ander modelleringstaaltje wist ik dat dat onzin was. Want uiteindelijk zit je nog te programmeren, maar dan een deels visueel en deels via een modelleringsscripttaal. En volgens mij kan je beter programmeren in een echte programmeertaal, die er per slot van rekening voor ontworpen is.
En zelfs dan nog weet ik zeker dat je bij het toepassen van MDA bepaalde problemen en complexiteiten tegenkomt waardoor het uiteindelijk toch nog een hele klus is om te krijgen wat je wil.
Plus, je moet zulke specifieke kennis hebben om met zo'n tool te kunnen werken dat het verschil tussen zo iemand en een traditionele software engineer me ontgaat.

Programmeren
21 januari 2004 - 21:30    reactie #41
geplaatst door: iPanda
Oh ja, over retain-release en controle over je objecten. Je levert een stuk controle in, maar je krijgt er wel een heel stuk robuustheid en programmeersnelheid voor terug. Wat Java feitelijk voor je doet is het hele retain-releaseverhaal voor je bijhouden, het principe is namelijk hetzelfde.

In Objective-C vind ik het vaak heel onduidelijk of je een object nou wel of niet moet retainen (en dus releasen), of dat-ie in de autoreleasepool zit en dus na uit scope gaan vanzelf wordt gereleased.
Heb je in C++ ook niet dat probleem? Want je maakt niet altijd zelf een object aan. Als je een object terugkrijgt van een method, moet je em dan ook destroyen, of gaat dat vanzelf als het object out of scope gaat?

Het is al weer lang geleden dat ik C++ heb geprogrammeerd (jaar of 8 denk ik). Gek is dat, ik heb m'n hele afstudeerproject in C++ geprogrammeerd, maar ik zou het niet precies meer weten.

Programmeren
21 januari 2004 - 22:00    reactie #42
geplaatst door: Reflex
In C++ hoef je objecten niet zoals het heet te 'retainen' (tenzij je gebruik maakt van de STL auto release, maar daar weet ik het fijne zo 1,2,3 niet van). je hebt de variabelen die expliciet gealloceerd zijn, die blijven bestaan tot je ze weer delete. de overige, die dus zo:
objectType     variable;
gedeclareerd zijn, worden dealloced bij het out of scope gaan.
Of je zelf een object moet allocaten en met een method meegeven, of dat de method dit voor je doet verschilt per method (uiteraard). Of je deze dan moet deleten hangt af van het feit of het een al dan niet geallocate object is.

ik programmeer nu zo een 13 jaar, in een enorm aantal talen gedaan, maar C++ blijft mijn grote liefde :-) je kunt er alles mee kneden zoals jij het wilt :) i like that... POWERRR  :devil:

Performance is voor mij een big issue. (sinds ik aan de UT begonnen ben, begrijp ik pas ECHT hoeveel kracht het je computer kost om iets te doen) Veel mensen laten dat nog wel eens liggen, en ik voel niet alsof talen als Cocoa en Java de gebruiker aanmoedigen om snelle functies te schrijven (je schrijft ze dan zo snel, dat je nauwelijks nadenkt over de inhoud) in C(++) doe je alles expliciet, en dan krijg je toch een 'persoontje' die over je schouder meekijkt, en neerbuigend doet als je weer eens een functie maakt die veel te veel cycles gebruikt. door de libs van java ea. kan het mi. nog wel eens zo zijn dat je dat soort aspecten uit het ook verliest

God has a hard on for Marines, because we kill everything we see. He plays His games, we play ours. To show our appreciation for so much power, we keep heaven packed with fresh souls. God was here before the Marine Corps, so you can give your heart to Jesus, but your ass belongs to the corps.
Programmeren
21 januari 2004 - 23:02    reactie #43
geplaatst door: iPanda
Hiya Reflex, als professioneel software engineer weet ik het dat het meestal meer oplevert om duidelijke, begrijpbare en goed gestructureerde code te schrijven, dan geoptimaliseerde en snelle code. Waarom? In de praktijk kost duidelijke code je zoveel minder aan onderhoud dat je voor dat geld makkelijk snellere hardware kan kopen. Hardware wordt immers steeds sneller en goedkoper, maar die kosten voor onderhoud zijn hoog en constant.

Ok, net als alles heeft ook dit z'n beperkingen. De applicatie moet natuurlijk wel redelijk performen op de initiele hardware en voor sommige dingen (zoals embedded software) is performance alles.

Het belangrijkste verschil tussen C++ en Java is toch vooral de allocatie/deallocatie van objecten en de bijbehorende libraries, want de syntax lijkt wel enorm op elkaar. Dus in die zin zie ik niet waarom je in Java zo snel zou schrijven dat je nauwelijks nadenkt over de inhoud. Hoogstens dat je iets minder wordt opgehouden door zaken die fluf zijn en niet wezenlijk voor de functionaliteit van je code.

Programmeren
22 januari 2004 - 09:15    reactie #44
geplaatst door: Reflex
Hmm, mijn gevoel is moeilijk te beargumenteren. Met java heb ik niet het gevoel degelijke code te schrijven.. met C++ wel.
Het lijkt me overigens niet zo dat geoptimaliseerde code perse onoverzichtelijk moet zijn. ok, de algos zijn wellicht moeilijk te volgen, maar kost dat echt zoveel meer tijd? Als je een commercieel product hebt, lijkt dit me toch wel de moeite van het optimaliseren waard
God has a hard on for Marines, because we kill everything we see. He plays His games, we play ours. To show our appreciation for so much power, we keep heaven packed with fresh souls. God was here before the Marine Corps, so you can give your heart to Jesus, but your ass belongs to the corps.
Programmeren
23 januari 2004 - 13:56    reactie #45
geplaatst door: iPanda
Hoi Reflex!

Als je een commercieel product hebt is het alleen de moeite waard om geoptimaliseerde, mogelijk onleesbare code te schrijven op de punten waar dat belangrijk is. Je moet altijd de afweging maken of geoptimaliseerde, moeilijk leesbare code niet ten koste gaat van de onderhoudbaarheid en of het de moeite (lees: onderhoudskosten) waard is.

Je moet je ook bedenken dat veel programmeerinspanning niet in softwareproducten gaan (die verkocht worden), maar in maatwerksoftware voor bedrijven. En voor die bedrijven zijn de onderhoudskosten van wezenlijk belang.

Programmeren
18 februari 2004 - 20:51    reactie #46
geplaatst door: Eiji
Oke ik ben bijna jarig, is er nog enige verandering gekomen in Cocoa programmeer boeken land?
Ik weet wel al dat ik een Cocoa boek koop. Geld is er ook al. Nu nog welk boek? :confused:
Gezocht: powermac G4 800mhz of meer
[MF] Eiji -> www.macfreakclan.cjb.net
Programmeren
18 februari 2004 - 21:09    reactie #47
geplaatst door: Sander Cox
Zelf heb ik een paar weken terug "Cocoa Programming for Mac OS X" van Aaeon Hillegass gekocht. Vind het een goed boek om door te krijgen hoe Obj-C werkt en hoe de Cocoa API is opgebouwd. Nu ik dat een beetje doro heb kan ik zelf wel wat gaan "prutsen" en door de API docs van apple gaan spitten... ik ben er in iedergeval dus mee opweg geholpen.
Programmeren
19 februari 2004 - 22:47    reactie #48
geplaatst door: Reflex
Het boek van Hillegass heb ik ook. Ik vind het een nuttig boek, maar niet te (en dat voor 60 euro). De 'opstap' naar Objective-C is lastiger dan de Cocoa APIs zelf, deze staan nameljik allemaal op de Apple site. Het is wellicht even lastig om daar helemaal thuis in te raken, maar als dat gelukt is, dan is het allemaal zo moeilijk niet meer.

Wellicht is het dan ook verstandiger om te investeren in een Objective-C boek. De Cocoa APIs zijn even wennen, maar met een devlist, online docs en samples kan er weinig mis gaan :)

God has a hard on for Marines, because we kill everything we see. He plays His games, we play ours. To show our appreciation for so much power, we keep heaven packed with fresh souls. God was here before the Marine Corps, so you can give your heart to Jesus, but your ass belongs to the corps.
Programmeren
28 februari 2004 - 17:23    reactie #49
geplaatst door: Eiji
Het is gebeurd, ik heb vandaag het 656 bladzijde dikke boek "Building cocoa Applications: A Step by step guide" van O'Reilly besteld bij vanPierre boek in Eidnhoven, over 2-4 weken komt hij binnen. Ik zal jullie mijn eerste creatie laten zien wanneer hijj klaar is.

of je nu wil of niet :devil:  :tounge:

Gezocht: powermac G4 800mhz of meer
[MF] Eiji -> www.macfreakclan.cjb.net