Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

  • Cubic X
  • Registratie: Augustus 2006
  • Laatst online: 13-09 11:57
Momenteel ben ik student HBO Informatica en volgend collegejaar begin ik aan mijn derde jaar, het bevalt mij nog prima :). In de twee jaar die ik nu gehad heb, heb ik zowel aan software als webdevelopment gedaan (als in projecten voor de studie, niet op professionele manier). Beide vind ik erg interessant en leuk. Momenteel volg ik een stage waar ik me vooral bezighoud met webdevelopment (PHP, MySQL, Javascript, etc) en volgend jaar wil ik een stage gaan doen die zich meer op software ontwikkeling richt.

Binnenkort moet ik echter de keuze maken voor de hoofdfase van mijn opleiding, de keuze gaat tussen webdevelopment (PHP, ASP.net en C#) of software-ontwikkeling(Software engineering, Java en C++). Nu vraag ik mij af wat het beste toekomstbeeld heeft?

Ik heb zelf het idee dat het internet al een beetje uitgegroeid is, 90% van de bestaande bedrijven heeft wel een website en veel ideeën zijn al uitgewerkt (weinig ruimte voor vernieuwing dus). Software ontwikkeling is nog ouder, maar toch heerst bij mij het gevoel dat hier meer toekomst inzit (vooral met de komst van smartphones met bijvoorbeeld Android en iOS). Echter is de meeste software ook al bedacht en geschreven (tenminste, dat gevoel heb ik omdat ik momenteel niks weet wat er nog niet is :P ).

Ik heb zelf iets meer kennis en ervaring van PHP dan van bijvoorbeeld Java. Java vind ik wel wat moeilijker en ingewikkelder, maar dat komt vooral door het gebrek aan ervaring. PHP is in mijn ogen makkelijker, maar bij webdevelopment komt natuurlijk meer kijken dan PHP en MySQL. Ik twijfel eigenlijk vrijwel elke dag of ik verder moet gaan in de webdevelopment of software ontwikkeling (maar dus niet omdat ik een van beide niet leuk vind, ik vind het juist beide interessant en leuk ;) ).

Wat is volgens jullie de betere keuze? Ik snap dat ik de keuze uiteindelijk zelf zal moeten maken, maar wat advies en meningen inwinnen kan nooit kwaad :) .

  • RomeoJ
  • Registratie: Mei 2003
  • Niet online

RomeoJ

Matched: (.*)

Software development is een ruimer begrip, iets waar webdevelopment een onderdeel van is IMHO.

In mijn ogen is de software ontwikkeling kant meer het OOP verhaal, terwijl je bij webdevelopment echt de HTML/HTTP kant op gaat, wat erg specifiek is. Ik zou zeggen, als je écht wil ontwikkelen kies dan voor software ontwikkeling, de skills die je daar moet gebruiken (software engineering), kan je ook gebruiken om in webdevelopment beter te leren ontwikkelen.

You only need two tools in life: WD-40 and Duct-Tape, if it doesn't move and it should, use the WD-40. If it does move and it shouldn't, use the Tape.


Verwijderd

Dingen worden steeds meer geïntegreerd. Het flexibel kunnen verbinden is belangrijk. Er zijn genoeg tools om web-technologie-gebaseerd een standalone executable te maken. Die basis maakt het wel op veel punten makkelijk ook de webzaken mogelijk te maken.

Beiden zullen steeds meer naar elkaar toegroeien. Het begrijpen van de technologie is belangrijker dan de exacte taal kennen imho.

  • danslo
  • Registratie: Januari 2003
  • Laatst online: 13:44
Serieuze reply: ga prutsen met beiden en doe wat je het leukst vind :)

  • Rukapul
  • Registratie: Februari 2000
  • Laatst online: 16:45
Voor een goede software engineer maakt het niet uit of hij als specialisatie web-applicaties of andere (desktop, mobiel, server, etc.)-applicaties heeft. Het een sluit een overstap naar het ander ook in het geheel niet uit.

Met betrekking tot de toekomst van beide denk ik dat er weinig conclusies te trekken valen met betrekking tot werkgelegenheid. Er wordt bijvoorbeeld een heleboel ontwikkeld puur voor in-house gebruik bij bedrijven waarvoor de argumenten uit de topicstart niet opgaan.

  • phobosdeimos
  • Registratie: Augustus 2007
  • Laatst online: 18:02
Je hebt desktop applicaties, server software, en applicaties met een web frontend.
In de praktijk is er geen gigantisch verschil, in elk geval ben je software aan het ontwikkelen, het is vooral de frontend (GUI) die verschillend is.
Zo zal server (daemon) software vaak helemaal geen gui hebben (eventueel CLI of iets dergelijk), terwijl je bij desktop software met GTK, QT of wat dan ook aan de slag gaat, en bij web applicaties ben je dan aangewezen op zaken zoals HTML, CSS en Javascript.
Naar mijn ervaring gebeurt tegenwoordig de meeste ontwikkeling op vlak van web applicaties.
Maar elke zichzelf respecterende ontwikkelaar zou ervaring moeten opdoen in alle takken, en zich zeker en vast niet vastpinnen op één taal/platform/OS/database/markup.

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 18:15

Sebazzz

3dp

Wilt dus voor je minor weten wat je qua toekomstbereidheid het beste kan doen. Hier ben ik ook wel in geïnteresseerd.

Er is overigens ook een verschil tussen webdevelopment en webdevelopment, het kan zijn dat je designs implementeert en een beetje ASP.NET erachter doet maar je kan evengoed bezig zijn met een geadvanceerde applicatie of library voor gebruik in ASP.NET waarbij je dus niet eens zo veel bezig bent met de voorkant van een applicatie.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


  • Wilke
  • Registratie: December 2000
  • Laatst online: 16:53
Ik vind het wel grappig dat je die dingen los van elkaar ziet :D

Verder heb je het ook nog over "het internet" en "het web" en "webapplicaties".

Dat zijn allemaal begrippen waarmee verzamelingen van technologieen worden aangeduid die vaak samen worden gebruikt. En uiteraard maakt het uit of je met het een of het ander vooral ervaring hebt, maar een scherpe lijn is er absoluut niet tussen te trekken.
Ik heb zelf het idee dat het internet al een beetje uitgegroeid is, 90% van de bestaande bedrijven heeft wel een website en veel ideeën zijn al uitgewerkt (weinig ruimte voor vernieuwing dus).
Je bedoelt denk ik, dat op het gebied van mass-market consument-gerichte websites zo'n beetje alles er wel is. Of zo niet, je wel extreem geluk moet hebben om net zoiets te bedenken wat dan ook nog goed aanslaat, etc. Daar heb je waarschijnlijk wel gelijk in. Visitekaartje websites bouwen is bovendien ook :Z :z

Maar het internet houd niet op bij websites of webapplicaties. En andersom ook, webapplicaties hoeven niet op het internet te draaien.

Webapplicaties houden namelijk niet op bij mass-market consumenten-sites. Meer en meer projecten *binnen* bedrijven, of tussen bedrijven, dus via intranets of middels VPN's afgesloten "speeltuinen" waar de doorsnee buitenstaander nooit maar een schermpje van te zien zal krijgen, worden ook geimplementeerd als "web"-applicaties, waarmee ik bedoel dat het (op zijn minst) een client-server systeem is dat het HTTP protocol gebruikt of misschien ook SOAP als services met elkaar moeten ouwehoeren, HTML/CSS gebruikt, waar vrijwel altijd een database achter hangt, etc.

De logica die daar achter hangt (aan serverzijde meestal) kunnen prima enorm complexe projecten zijn met een ingewikkelde architectuur, richting wat jij de "software engineering" kant noemt.

Ook zijn er zat "software engineering" projecten die wel een client-server architectuur gebruiken, maar toevallig geen HTML uitspugen of niet via HTTP communiceren. Dat zijn dan strict gezien geen "webapplicaties", maar de architectuur ervan kan voor 90% hetzelfde zijn.


Momenteel is het prima als je snapt hoe je webapplicaties programmeert, maar meestal gaat het niet zo zeer om het feit dat het een webapplicatie is, alswel dat er gewoon een bedrijfsproces geautomatiseerd wordt, en dat webapps momenteel toevallig "de" manier zijn om dat te doen (vanwege allerlei voordelen, bv. vanaf overal toegankelijk indien gewenst, de software updaten is zeer veel makkelijker dan bij desktop apps, platform-onafhankelijkheid en zo nog 100 redenen). Voor wat betreft het automatiseren van bedrijfsprocessen is er altijd werk. Die processen zelf veranderen immers ook continu (al is het maar door wijzigende wetgeving of veranderende marktomstandigheden).

Nog waardevoller ben je dus als je niet blijft steken in alleen het "web-apps trucje", maar ook snapt wat je op het niveau daarboven eigenlijk aan het doen bent, dus dat de web-app heel vaak slechts een vorm is waar je functionaliteit ingiet. De functionaliteit zelf zou jij de "software engineering" kant noemen waarschijnlijk.

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 17:34

Onbekend

...

PHP is inderdaad makkelijker, maar ook gemakkelijker om fouten mee te maken.


Elk compleet stuk software bestaat uit een invoer, opslag, verwerking en uitvoer. Meestal zijn deze opgesplitst om bepaalde taken beter/sneller uit te voeren.
PHP is bijvoorbeeld alleen maar verwerking. De HTML-code i.c.m. de webbrowser zorgt uiteindelijk voor de invoer en uitvoer. Je hebt bijvoorbeeld geen volledige controle hoe de webpagina op papier wordt uitgeprint.

Ik zou kiezen voor C++. Dit is de meest uitgebreide (en daarmee een moeilijke) programmeertaal. Je gaat (als het goed is) diep op de stof in en weet hoe en waarom bijvoorbeeld een float in het geheugen wordt weggeschreven.
Als je de basiskennis bezit, kan je in principe in elke programmeertaal programmeren. Het enige wat verschilt is de syntax.

Oja, het meeste programmeren leer je d.m.v. ervaring. Niet van op school zitten en en theorie uit een lesboek leren.

Speel ook Balls Connect en Repeat


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Onbekend schreef op maandag 21 juni 2010 @ 22:59:
Ik zou kiezen voor C++. Dit is de meest uitgebreide (en daarmee een moeilijke) programmeertaal. Je gaat (als het goed is) diep op de stof in en weet hoe en waarom bijvoorbeeld een float in het geheugen wordt weggeschreven.
Ik denk dat je het dataopslagverhaal toch los moet zien van de programmeertaal. Hoewel Java hier bijvoorbeeld uitstekende klassen voor in het framework heeft zitten heb ik een hoop geleerd van het zelf programmeren van bubblesort en bijvoorbeeld splay, AVL en Red-Black trees. En dat zonder rare dingen zoals pointers, structs, constructors, array initialization (want als er íets niet intuïtief werkt in C++...) en andere zaken die eigenlijk alleen maar afleiden van het daadwerkelijke programmeren.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 18:15

Sebazzz

3dp

Als er geen hele rauwe performance nodig is zoals bij zeer zware applicaties en games voldoet een hogere taal zoals Java of .NET prima, of afhankelijk van de toepassing ook PHP. Het is makkelijker om iets te kiezen waarmee je je beter en efficienter op het probleem kan richten zonder boilerplate code voor zoiets simpels als arrays en lijsten (ja, C++ heeft het STL). Maar het is geen taal of frameworkdiscussie, het is een minor discussie.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


  • weerdo
  • Registratie: December 2000
  • Niet online
TS: Ik ben wel benieuwd naar de inhoud van de diverse modules. Kan je dat niet boven water krijgen? Om welke onderwijsinstelling gaat het eigenlijk?

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 17:34

Onbekend

...

Ik ben van mening dat je toch iets moet weten over opslag van variabelen en pointers daar naartoe.
Als je PHP programmeert kom je geen pointers tegen en kan je gewoon een array naar een functie meegeven en terugkrijgen.

Daarnaast kan je programma's sneller laten werken als je weet hoe bepaalde variabelen worden gebruikt.
Als je ergens een 0 of een 1 wilt opslaan, gebruik je geen integer e.d.. Dit zijn punten die je veel al niet niet leert.

Speel ook Balls Connect en Repeat


  • Canaria
  • Registratie: Oktober 2001
  • Niet online

Canaria

4313-3581-4704

Ik vind het een rare splitsing. Als ik jou was zou ik in ieder geval de richting kiezen waarin de meeste aandacht wordt besteed aan architectuur en de theoretische kant van het ontwikkelen van software (dat kunnen ook webapplicaties zijn) dus in de richting van software design patterns, algoritme-optimalisatie, datastructuren en software quality control. Dat zijn dingen waar je in de praktijk als je eenmaal aan het werk bent veel minder on-the-job ervaring mee opdoet, maar die je een prima basis geven als je je er tijdens je opleiding al in hebt verdiept. Als je op een strakgepland project werkt komt het er vaak niet van en is het soms belangrijker dat iets feature complete is dan dat het geoptimaliseerd is. Tenzij je natuurlijk echt in een diehard programmeerbedrijf terechtkomt in plaats van bij een dienstenleverancier.

Apparticle SharePoint | Apps | Articles


  • Cubic X
  • Registratie: Augustus 2006
  • Laatst online: 13-09 11:57
Bedankt voor alle reacties! :)
Wilke schreef op maandag 21 juni 2010 @ 22:48:
Ik vind het wel grappig dat je die dingen los van elkaar ziet :D

Verder heb je het ook nog over "het internet" en "het web" en "webapplicaties".

Dat zijn allemaal begrippen waarmee verzamelingen van technologieen worden aangeduid die vaak samen worden gebruikt. En uiteraard maakt het uit of je met het een of het ander vooral ervaring hebt, maar een scherpe lijn is er absoluut niet tussen te trekken.
Niet alleen ik zie die dingen los van elkaar, mijn school ook :P. Het gaat trouwens over de Hanzehogeschool Groningen. Verder bedankt voor je reactie :) .
Onbekend schreef op maandag 21 juni 2010 @ 22:59:
PHP is inderdaad makkelijker, maar ook gemakkelijker om fouten mee te maken.

Elk compleet stuk software bestaat uit een invoer, opslag, verwerking en uitvoer. Meestal zijn deze opgesplitst om bepaalde taken beter/sneller uit te voeren.
PHP is bijvoorbeeld alleen maar verwerking. De HTML-code i.c.m. de webbrowser zorgt uiteindelijk voor de invoer en uitvoer. Je hebt bijvoorbeeld geen volledige controle hoe de webpagina op papier wordt uitgeprint.

Ik zou kiezen voor C++. Dit is de meest uitgebreide (en daarmee een moeilijke) programmeertaal. Je gaat (als het goed is) diep op de stof in en weet hoe en waarom bijvoorbeeld een float in het geheugen wordt weggeschreven.
Als je de basiskennis bezit, kan je in principe in elke programmeertaal programmeren. Het enige wat verschilt is de syntax.

Oja, het meeste programmeren leer je d.m.v. ervaring. Niet van op school zitten en en theorie uit een lesboek leren.
Ik weet dat PHP de minder 'goede' taal is zeg maar (alhoewel daar ook over te twisten valt, maar dat valt even buiten de scope van dit topic). PHP staat meer dingen toe die een 'echte' programmeertaal zoals java en C niet zouden toelaten. Echter bij de afstudeerrichting 'webdevelopment' krijg je ook ASP.net en C#.

Wat betreft ervaring heb je waarschijnlijk gelijk. Ik ben een onzeker type en ben hierdoor 'bang' dat ik nog niet genoeg kennis heb van bijvoorbeeld Java om daarmee echt langs bedrijven te gaan (als bijbaan). Dat is ook de reden dat ik momenteel geen bijbaan heb in de IT-richting.
weerdo schreef op maandag 21 juni 2010 @ 23:23:
TS: Ik ben wel benieuwd naar de inhoud van de diverse modules. Kan je dat niet boven water krijgen? Om welke onderwijsinstelling gaat het eigenlijk?
Het gaat om de Hanzehogeschool Groningen. Ik zal later vandaag even de inhoud boven water proberen te krijgen (moet nu zo eerst weg :P ).

Hierbij even een copy-paste van wat beide richtingen inhoudeb:
Webdevelopment:

Een webapplicatie is een uitgebreid programma dat via een webinterface bestuurd kan worden. Aan de onderliggende technieken van dergelijks programma's worden enerzijds dezelfde en anderzijds andere eisen gesteld als aan offline-applicaties. Verschillende grote platformen,vendors, methoden en filosofieën strijden hierbij om voorrang, waarbij de focus telkens net even anders ligt.

In dit thema bekijken we een aantal van dergelijke platformen, waarbij we ook een uitgebreid onderzoek doen naar de zaken onder de motorkap. We beginnen met het maken van een statische website om die vervolgens uit te breiden met client side technieken en te implementeren met behulp van scheiding van code & opmaak. Een grote en complexe database ontsluiten via C# en ASP is de laatste stap. Verder maken we gebruik van user-defined components AJAX en XML. Al deze technieken en ideeën kunnen in het project terugkomen, maar studenten kunnen daarin ook op eigen initiatief een vernieuwende techniek onderzoeken. Het thema voor iedere student die zijn of haar toekomst in de online-omgeving ziet.

Hoewel je tijdens je studie meestal een applicatie van de grond af aan opbouwt, correspondeert deze situatie niet met een groot deel van de werkelijke praktijk. In het echte leven heb je vaak te maken met een heterogeen applicatielandschap: databases draaien onder een andere operating system dan de productieserver, er zijn verschillende soorten clients die daarop aangesloten moeten worden en nieuwe technieken dicteren nieuwe eisen aan de uitbreidingen op bestaande systemen. Kortom, een allegaartje waar politiek en techniek dikwijls de degens moeten kruisen.

Door het volgen van dit thema krijg je inzicht in de verschillende opvattingen over -en oplossingen voor- dit soort situaties. Je leert met een integratie-oog naar dergelijke legacy systemen te kijken, welke protocollen je waarvoor kunt gebruiken (en waarom) en wat de inherente problemen zijn waar je mee te maken krijgt. Door gebruik te maken van een keur aan technieken maak je tijdens de practicumweken kennis met de uitdagende wereld van systeemintegratie & modellering, terwijl je bij het project je eigen mening hierover kunt vormen. Een must voor elke serieuze programmeur die wat meer wil dan het programmeren van webshops.
Dit klinkt mij leuk in de oren :)
Software engineering:

In het eerste en tweede jaar heb je de techniek van het programmeren in Java geleerd. Daarnaast heb je kennis gemaakt met ''software engineering'' en de watervalmethodiek.

In dit thema gaan we kijken naar een radicaal andere aanpak, die van de 'agile' software ontwikkeling. Agile is met name geschikt als de klant aan het begin van het traject nog niet precies weet wat hij/zij wil hebben. In dit thema zul je leren om met behulp van agile methodieken zoals Scrum en eXtreme Programming (XP) software te ontwikkelen voor dit soort klanten. Je zult leren om te gaan met actuele software ontwikkeltools voor unittesting en refactoring. Met ''Design Patterns'' leer je je programmastructuur te verbeteren. Daardoor zijn je programma's beter bestand tegen de veranderingen ten gevolgen van nieuwe ideeën van de klant. Het onderwerp Open Source wordt behandeld omdat daar voor de moderne software ontwikkelaar veel belangrijke aspecten aan zitten (open source tools, licentiekwesties, hoe open source ontwikkelen, etc.)

n dit thema gaan we kijken naar de competenties die nodig zijn om grotere en complexere systemen te ontwikkelen. Als tegenhanger van de agile aanpak wordt nu gebruik gemaakt van een formelere methodiek (RUP).

Voor het ontwikkelen van grotere systemen is ''architectuur'' een belangrijk onderwerp. Je leert wat architectuur inhoudt en hoe je het documenteert. Complexere informatiesystemen zijn vaak gedistribueerd over meerdere software en hardware componenten. Via leertaak 2 (wireless router) en leertaak 3 (Shop of the future, RFID) maak je kennis met hardwarematige aspecten van systeemontwikkeling. Gebruikte technieken zijn Linux, C#, Windows.Net Compact Framework en RFID.

N.B. Dit thema kent 2 varianten. Voor de eerste 3 weken kan worden gekozen tussen een I-variant met focus op Software Archiectuur en een TI-variant met nadruk op Embedded Software. In de TI-variant is aandacht voor een ARM Microcontroller systeem met een Real Time OS. Hierbji is wel C als voorkennis vereist.
Ook dit lijkt mij leuk, echter wel ingewikkelder :) .
Canaria schreef op maandag 21 juni 2010 @ 23:34:
Ik vind het een rare splitsing. Als ik jou was zou ik in ieder geval de richting kiezen waarin de meeste aandacht wordt besteed aan architectuur en de theoretische kant van het ontwikkelen van software (dat kunnen ook webapplicaties zijn) dus in de richting van software design patterns, algoritme-optimalisatie, datastructuren en software quality control. Dat zijn dingen waar je in de praktijk als je eenmaal aan het werk bent veel minder on-the-job ervaring mee opdoet, maar die je een prima basis geven als je je er tijdens je opleiding al in hebt verdiept. Als je op een strakgepland project werkt komt het er vaak niet van en is het soms belangrijker dat iets feature complete is dan dat het geoptimaliseerd is. Tenzij je natuurlijk echt in een diehard programmeerbedrijf terechtkomt in plaats van bij een dienstenleverancier.
Dat is vooral de software engineer kant dus :) .

Ik zal later vandaag nog meer reageren, maar moet nu eerst weg :> .

[ Voor 37% gewijzigd door Cubic X op 22-06-2010 19:17 ]


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
Beiden zijn relevant voor de toekomst. Kijk verder dan "elk bedrijf heeft al een website", de websites van de toekomst zijn veel geavanceerder dan een beetje versierde tekst. Dat is dan ook alleen maar het eerste begin van de web-richting.

De Software Engineering richting is inderdaad meer hardcore, zeker de TI variant. Onderschat niet hoeveel onzichtbare software er is. Chipjes van een euro kunnen een heleboel waarde aan een product toevoegen, maar zijn niet met HTML/PHP/C# te programmeren. Dus een carriere in deze richting is zonder twijfel mogelijk.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein

Pagina: 1