Voor school moet ik bepalen wat voor Project ik volgend jaar wil gaan doen, ik ben een student die voornamelijk bezig is met WebApplicaties in PHP en wil in dit zelfstandige Project een nieuwe taal gaan leren.
Ik dacht aan talen als:
- C++
- C#
- Delphi
Wat voor taal zouden jullie aanraden (mede met het oog op ondersteuning online ed.)
En wat voor Eenvoudige Applicaties kan ik buiten:
- Basic MP3 Speler
- Basic Agenda
Ontwikkelen, wat voor een beginner in een nieuwe Ontwikkeltaal goed te doen is en toch een leuk (en eventueel nuttig) resultaat kan opleveren.
C++ is gewoonweg de meest universele taal die je kunt leren. Deze zou ik je dan ook persoonlijk aanraden.
Is wel vrij lastig, maar omdat je php als basis hebt wordt het al wat makkelijker, want er zijn natuurlijk dingen die mekaar een beetje overlappen.
Ik zou persoonlijk die tijd investeren in het werken/begrijpen van databases. Denk aan PostgreSQL of Oracle, daar heb je later ook weer profijt van. Verder heb ikzelf veel gehad aan JAVA, maar dan voornamelijk voor het begrijpen van OOP.
Verder valt er voor iedere taal wel wat te zeggen... Maar als je het over online ondersteuning hebt zou ik zeggen, verdiep je nog meer in PHP. Ga eens aan de slag met SOAP (XML-transacties opbouwen ofzo) of doe eens creatief met PHP-GTK.
Arjan heeft wel een paar goede punten, alleen weet ik niet of databases en XML/SOAP echt genoeg nieuwe kennis is voor een project. Het is wel heel handig, omdat je dan écht goede applicaties lert maken. Stored procedures, moeilijke SQL queries en data uitwisseling met XML en SOAP enzo is nou eenmaal een pré om te hebben en een must voor een goede webprogrammeur.
Verder is Java ook geen slechte keuze aangezien je daar ook nog JSP hebt wat gewoon in de taal Java wordt gedaan, en je met Java inderdaad OOP heel goed leert begrijpen.
Als je kijkt naar de toekomst, zou het programmeren dan niet verdwijnen? Dit wordt door sommige multimedia developers gezegd. Zelf denk ik dat PHP altijd wel blijft bestaan maar sommigen denken het tegendeel.
Zij denken dat systemen als Ruby on Rails en Flex het helemaal gaan maken. Zelf een keer Ruby on Rails gezien, werkt wel leuk maar ik vind het zeker niet optimaal.
Deplhi is ook de simpelste. het is minder gevoelig voor fouten dan C++.
al vind ik zelf delphi wel heel erg beperkt. maar voor simpele programma's en makkelijk te begrijpen programmeer taal zou ik wel delphi nemen.
C++ is wel wat complexer maar je kan er meer mee.
ook al gedacht aan Visual Basic .NET kan je ook web applicaties mee maken in ASPX
Delphi(object-pascal) is makkelijk aan te leren. Delphi schijnt de gemakkelijkheid van Visual Basic te hebben en tegelijk ook de kracht van C, C# of C++. Zelf ben ik begonnen met Delphi(een tijd geleden), en het viel mij op hoe gemakkelijk je een programma inelkaar gezet hebt.
Zij denken dat systemen als Ruby on Rails en Flex het helemaal gaan maken. Zelf een keer Ruby on Rails gezien, werkt wel leuk maar ik vind het zeker niet optimaal.
Ik ben een half jaar bezig geweest met Ruby on Rails. Heb er een CMS mee gebouwd en ik moet zeggen dan het wel erg lekker werkt. Vooral het werken met databases werkt heel makkelijk, dit is het onderdeel ActiveRecord (ook gelijk het grootste deel van RoR). Iedere tabel is een model. Aan dit model kun je dan verschillende eigenschappen hangen. Dus data validatie, relatie met andere modellen (foreign keys), etc.
Voorbeeldje met order en order_regels:
order = Order.find(1)
# en array met order_regels van order 1
order_regels = order.OrderRegel
Je kunt ook dingen doen als:
blaat = 1 if blaat > 0
#of
blaat = 3231321;
if blaat.to_s =~ /^\d+$/
# blaat is een nummer
end
Maar ik denk dat ik toch weer met PHP bezig ga, daar ben ik toch mee begonnen. Maar ik denk wel dat het een voordeel is dat ik wat RoR kennis heb.
Of ik er nog wat mee doe weet ik niet ;D
Ik zie zelf in dingen als Flex toch niet de toekomst. Want je werkt eigenlijk vanuit een GUI. Wat ik iig wil zeggen is dat je beperkingen hebt vanwege het programma zelf. Ik denk dat programmeren altijd de basis blijft van professionele development.