Op zoek naar een nieuwe taal

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan Dam

Johan Dam

14/12/2010 18:35:36
Quote Anchor link
Yoo,

Voor een nieuw project ben ik op zoek naar een nieuwe programmeertaal, normaal gesproken zou ik het met PHP / Javascript doen... maar omdat ik het belangrijk vind dat gebruikers zelf 'modules' kunnen toevoegen en ik het geen goed plan vond om ze hun eigen PHP classes te uploaden ben ik tot de conclusie gekomen dat ik maar eens verder moet gaan kijken in de wereld van programmeren.

Zodra ik begon te denken aan 'offline' programmeertalen, dacht ik aan ruby, python en perl. 3 talen waar ik nog niet mee gewerkt heb.

Na een aantal meningen gelezen te hebben over de 3 talen blijven er eigenlijk 2 over en heb ik toch wat moeite met te beslissen welke het moet wezen.

Ruby en Python schijnen beide een betere keus te zijn dan Perl, de reden heb ik niet helemaal begrepen, alleen dat mensen 'het licht' zagen nadat ze jaren in perl gewerkt hebben en vervolgens naar een van de andere twee zijn over gestapt.

Van wat ik heb begrepen is Python simpeler en makkelijker te lezen,
Ruby bied daar tegenover meer flexibiliteit.

Dat klinkt allemaal erg leuk en aardig, maar maakt het niet makkelijk te kiezen.

Voor het project zijn een aantal dingen belangrijk, dus ik ga mijn keuze laten afhangen van wat het beste bij het project past.

Belangrijk is het verbinden met het internet, er zal nogal wat met externe servers gecommuniceerd worden dus dit moet robuust en het liefst ook snel mogelijk zijn.
Ook belangrijk zijn reguliere expressies, of iets soortgelijks. Native functies die geijkwaardig (of beter) zijn als preg_match.
Het derde punt is het dynamisch laden van modules, (uit een bepaalde map, bijvoorbeeld)
Tot slot toegang tot een database, al is dit een bonus, informatie opslaan hoeft immers niet perse met een database te gebeuren.

Gezien deze post langer is dan ik had verwacht vraag ik waarschijnlijk nogal veel van jullie, toch zou ik graag jullie meningen willen horen.
 
PHP hulp

PHP hulp

24/11/2024 08:13:28
 
Jens V

Jens V

14/12/2010 19:12:07
Quote Anchor link
Ik heb vorig jaar voor school een project moeten maken met JSP en Java. Dat duurt even voor je het volledig door hebt (vooral de structuur), maar daarna heeft het de volledige kracht van Java. Als je reeds Java kan, wat toen bij mij het geval was, is dit volgens mij wel een goede keuze.

Als je met Java werkt kan je de HttpServlet gebruiken. Die werkt uitstekend en is uitsluitend gemaakt voor communicatie over HTTP (je kan je request en response volledig zelf beheren). Met regex'en is Java ook redelijk sterk. Hiervoor bestaat dacht ik een native object waarmee je je match kan doen. Dynamisch laden van modules kan je doen met reflectie. Ten slotte is database toegang met Java ook niet zo moeilijk.

Sorry voor nog een extra goede optie te geven;)

Jens

edit:
de link onder reflectie wou niet pakken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
http://en.wikipedia.org/wiki/Reflection_(computer_science)#Java
Gewijzigd op 14/12/2010 19:15:58 door Jens V
 
Johan Dam

Johan Dam

14/12/2010 20:55:55
Quote Anchor link
Java ken ik al (gedeeltelijk), heb het ook voor school gehad paar jaartjes terug. Eerst stukje 'gewoon' Java daarna door met JSP, ik ben het met je eens dat het een goeie optie is wat HTTP betreft maar voor de rest vind ik Java vooral overdreven en niet erg effiecent werken.

Ook belangrijk is dat het geen open source is, natuurlijk.

Had ik er waarschijnlijk wel bij moeten zeggen, open source is ook belangrijk.

Dat zijn Python en Ruby namelijk wel.... toch?
 
- SanThe -

- SanThe -

15/12/2010 04:23:02
Quote Anchor link
Ik heb geen idee wat je wilt, maar wil je echt iets fatsoenlijks programmeren, doe dat dan in C++. Dat is een echte programmeertaal. Ik zag ergens perl staan, maar ook dat is een scripttaal.
 
Johan Dam

Johan Dam

15/12/2010 09:20:09
Quote Anchor link
C++ heb ik ook ervaring mee, werkt op zich wel goed (ik ergerde me vooral aan de IDE) Mooie taal geef ik toe, maar teveel gedoe met pointers als je het mij vraagt. Bovendien raakte ik half de weg kwijt toen ik een simpel venster probeerde te maken. Ook vind ik de leesbaarheid en complexiteit van C++ nogal een nadeel.

PHP heeft veel van Perl overgenomen, vandaar dat ik dacht dat het een goeie optie zou kunnen zijn. Na wat rond gekeken te hebben denk ik dat ik beter een 'modernere' taal kan kiezen.

Goed, ik heb mijn keuze gemaakt. Python word het. Leesbaarheid heeft de doorslag gegeven.

Ik kwam een artikel tegen waar de 2 besproken werden, de volgende stukjes code kwamen er in voor:

Ruby code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
a = []
upto 2 do |i|
    upto 2 do |j|
        a << [i,j] if i != j
    end
end


En vervolgens Python:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
a = []
for x in range(3):
    for y in range(3):
    if x != y:
        a += [(x,y)]


Bij welke snap je beter wat de bedoeling is?
Al is het vreemd (voor mij tenminste) dat loops niet worden afgesloten... maar goed.

Bedankt voor de input!

(btw, blijf gerust verder suggereren, wie weet zoekt er iemand anders ook naar een programmeertaal en dan is dit misschien een handige referentie)
 
John D

John D

15/12/2010 09:47:42
Quote Anchor link
Denk meer modulair, deployen van jar bestanden, het optuigen van een applicatieserver zodat stukjes applicatie (de jar bestanden) gedeployed kunnen worden. Een Open Source applicatieserver die ook in het bedrijfsleven wordt toegepast is JBoss. Hierin kan je de autorisatie zodanig inregelen dat gebruikers zelf 'modules' kunnen toevoegen.
 
Kris Peeters

Kris Peeters

15/12/2010 09:59:26
Quote Anchor link
C is een hele mooie taal. Ik ben nog opgevoed met C zonder ++. Daar moet je nog eens dubbel zo goed letten op geheugenbeheer. Pointers zijn ook wat lastiger in C dan in C++.

Wat mooi is aan C is dat je voeling hebt met de machine. C draait niet op een virtuele machine. Als je bv. een object of array aanmaakt, kan je mooi zien hoeveel geheugen dat object inneemt.

Ook de syntax vind ik prachtig. Merk op dat de syntax vrij goed lijkt op die van php.
 
Jens V

Jens V

15/12/2010 10:16:15
Quote Anchor link
Johan Dam op 15/12/2010 09:20:09:
C++ heb ik ook ervaring mee, werkt op zich wel goed (ik ergerde me vooral aan de IDE) Mooie taal geef ik toe, maar teveel gedoe met pointers als je het mij vraagt. Bovendien raakte ik half de weg kwijt toen ik een simpel venster probeerde te maken. Ook vind ik de leesbaarheid en complexiteit van C++ nogal een nadeel.


Een simpel venster maken kan je met Qt doen. Maar wederom, niet volledig open-source nee... Maar ik dacht dat je op zoek was naar talen voor op het web? Dan komt C++ of C toch niet direct in aanmerking..

Swoit, je keuze is gemaakt;)
 
Nicoow Unknown

Nicoow Unknown

15/12/2010 10:17:29
Quote Anchor link
Python is een taal waarbij "net" programmeren enorm belangrijk is.
En if word afgesloten zodra je het met een indent afsluit.
Dus je sluit het gewoon af door weer een tab naar voren te gaan.

Ook kent python geen array's, maar list comprehensions.

Ik heb altijd dubbele gevoelens bij python, omdat ik mijn eerste project daar volledig in heb verknald (een 3-d race game in 1 klassen, die constant opnieuw werd geladen).
Maar het is enorm wennen als je vanuit PHP komt, maar dat is met vrijwel alle talen
 
Johan Dam

Johan Dam

15/12/2010 11:20:48
Quote Anchor link
Jens V op 15/12/2010 10:16:15:
Johan Dam op 15/12/2010 09:20:09:
C++ heb ik ook ervaring mee, werkt op zich wel goed (ik ergerde me vooral aan de IDE) Mooie taal geef ik toe, maar teveel gedoe met pointers als je het mij vraagt. Bovendien raakte ik half de weg kwijt toen ik een simpel venster probeerde te maken. Ook vind ik de leesbaarheid en complexiteit van C++ nogal een nadeel.


Een simpel venster maken kan je met Qt doen. Maar wederom, niet volledig open-source nee... Maar ik dacht dat je op zoek was naar talen voor op het web? Dan komt C++ of C toch niet direct in aanmerking..

Swoit, je keuze is gemaakt;)


Nee, juist niet op het web :P De reden dat ik een andere taal zoek / zocht is omdat de applicatie makkelijk uitgebreid moet kunnen worden door externe modules.
Met een webtaal zijn hier 3 mogelijkheden voor.
1. Automatisch laten scannen en daarmee niks toelaten wat niet aan hele strenge eisen voldoet waardoor de modules bijna niks meer kunnen.
2. Automatisch scannen op lichte eisen en het makkelijk maken dat de modules je website omzeep helpen. (Je gaat geen 'vreemde' code toelaten op je applicatie)
3. Alles handmatig controleren.

Door het offline te halen zijn er natuurlijk nog steeds risico's maar is niet elke gebruiker (of de maker) in gevaar als 1 iemand een 'foute' module maakt / gebruikt.

C en C++ zijn mooie talen, de snelste ook. Toen ik ermee begon kende ik er amper wat van dus dat ik een venster heel makkelijk met dit of dat kon maken had ik nog niet door :P ik las er voorbeelden van en had moeite ze te begrijpen. Ze zijn gewoon niet leesbaar genoeg in mijn ogen.

Lees nu een PDF 'dive into python'. Het is inderdaad wel wennen, zodra ik bij dictonairies kwam dacht ik 'oh dat is dus een array' daarna kwamen ze met lists aan en vervolgens met tuples... maar goed, het word tenminste duidelijk uitgelegd :P

Snap nu ook dat de eisen die ik had eigenlijk nergens op slaan. Je kan met iedere taal doen wat ik wil (hoe makkelijk of moeilijk dan ook) De vraag is welke taal je het meeste aanspreekt, welke syntax je logisch vind, enz.

Nou ja, tenzij snelheid een erg belangrijke eis zou zijn.. dan is de keus makkelijk (C / C++)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.