Kann man eine Programmiersprache, kann man alle
-
PHP kann man wohl zu c++/java/pascal/delphi dazuzählen. Es geht ja nur darum, dass man "alle kann", wenn man je mindestens eine aus dne Gruppen kann.
HTML und LaTeX sind keine Programmiersprachen.
-
Ist schon was dran an dem Spruch. Den prinzipiell lernt man ja am Anfang 2 Sachen auf einmal: Programmieren und die Sprache. Wenn man jetzt eine neue Sprache lernt, kann man schon programmieren.
-
Perl fehlt; nicht, weil sie theoretisch besonders interessant wäre, sondern weil man damit extrem produktiv sein kann.
Die Verbindungen HTML/LaTeX und Haskell/Lisp halte ich übrigens für ziemlich gewagt.
-
html/latex kann man meinetwegen auch ganz streichen.
wenn ich lisp kann, muss ich dann noch irgendwelche neuen konzepte lernen um haskell zu verstehen? (ich kann haskell nicht. ich dachte aber immer es wären beides funktionale sprachen?)
perl kann ich auch nicht aber würde man das nicht in die c++ reihe einordnen?
-
borg schrieb:
wenn ich lisp kann, muss ich dann noch irgendwelche neuen konzepte lernen um haskell zu verstehen? (ich kann haskell nicht. ich dachte aber immer es wären beides funktionale sprachen?)
Oha, aber sicher. Typherleitung, nicht-strikte Auswertung, Typklassen, Monaden ... und ich kann Haskell auch nicht.
Lisp ist eigentlich keine funktionale Sprache. Das führ ich jetzt nicht näher aus, das hab ich hier schon ein oder zweimal getan.
-
borg schrieb:
perl kann ich auch nicht aber würde man das nicht in die c++ reihe einordnen?
Perl hat sich ja alles von irgendwoher zusammengeklaut. Ich kann Perl-Programme schreiben, die sehen wahlweise wie Shell, awk, C, funktional oder so aus, als hätten ein paar Hunde über der Tastatur gewütet. Darum ist Perl ja auch so extrem cool.
Bashar: Naja, Lisp ist immerhin gewissermaßen die Sprache, mit der funktionale Programmierung erfunden wurde, also hat die Sprache mE durchaus eine stark ausgeprägte funktionale Komponente. Es ist keine 'reine' funktionale Sprache (wobei 'rein' im Normalfall bedeutet, daß es nicht sehr praxistauglich ist), da sind wir uns sicher einig (CL hatte zB. das erste standardisierte Objektsystem), aber ihm die funktionalen Qualitäten komplett abzusprechen geht dann doch etwas zu weit.
-
aber ihm die funktionalen Qualitäten komplett abzusprechen
Das hab ich ja nicht getan, deshalb das Wörtchen "eigentlich". Man muss in Lisp nicht funktional programmieren, man tut es auch nicht hauptsächlich, sondern nur, wenn es sich anbietet. Es fehlen auch eine ganze Menge Dinge, die andere funktionale Sprachen haben, wie z.B. optimierte Endrekursion, Pattern Matching, Currying, Komposition etc., das einzige, was Lisp funktional macht, ist die Lambda-Abstraktion (und die auch erst richtig seitdem Common Lisp von Scheme die lexikalischen Closures geklaut hat). Das ist zwar die Grundlage der "Funktionalität"(?), aber in Lisp auch nur eins von vielen nützlichen Sprachmitteln.
Genauso könntest du sagen Lisp sei objektorientiert, weil es Klassen hat. Komischerweise hab ich noch nie jemanden sagen hören "Lerne eine objektorientierte Sprache wie Lisp oder Java"auch wenn Lisper gerne betonen, dass Common Lisp die erste standardisierte OO-Sprache war.
-
dann tut mal Caml in die haskell/lisp reihe
ich musste es für mein vordiplom lernen, weil mein prof da der spezialist istund btw, lisp fehlt komposition ? also sowas geht nicht in lisp:
{ return funk(foo(xxx), bar(foo(xx))); }
-
Also ich habe mit Basic angefangen. Das war mit dem C64. Später habe ich nichts mehr gemacht. Bis zu der Zeit wo ein Pentium 300 das höchste war. Ich habe mir damals so ein "Monstergerät" besorgt und angefangen C/C zu lernen. Das dauert bis heute an, das lernen meine ich
Wenn man Basic kann kann man nur Basic. Das stimmt. Seit dem ich C/C++ behersche habe ich keine Probleme allen möglichen Code zu lesen und zu verstehen.
PHP, Java pahhh ich kann sie alle.
Weil ich C/C++ kann.
-
borg schrieb:
NewProggie schrieb:
Würdet ihr denn sagen, dass es so "Standardsprachen" gibt, die ein Programmierer einfach können muss, wenn er sich universell nennen will?
html/latex
c++/java/pascal/delphi
haskell/lisp
mathematica/maple/mupad
asm-dialekte?wenn du jeweils eins davon beherrschst kannst du dich wahrscheinlich universell nennen und eine neue sprache schnell lernen.
also eine textsatzsprache, eine oop sprache, eine funktionale sprache, ein computer-algebra-system und vielleicht noch irgendwas maschinennahes?hab ich irgendwas grundlegendes vergessen?
zu Funktionalen: LOMF
http://ux-02.ha.bib.de/~loewe/Programmierung/Skript/
-
jetzt aber ab ins Bett...
-
wieso hat eigentlich noch niemand prolog erwähnt?
-
DEvent schrieb:
und btw, lisp fehlt komposition ? also sowas geht nicht in lisp:
{ return funk(foo(xxx), bar(foo(xx))); }
was ist mit komposition gemeint?
-
-
Kann man eine Programmiersprache, kann man alle
definiere kann
Die frage ist, wie man sie kann. Das beste Beispiel sind C-Programmierer, die C++ KÖNNEN und damit C-Style mit Klassen meinen. Wenn "Ich hab ein funktionierendes Hello World geschrieben" in einer Sprache schon 'können' heist, dann KANN ich schon ganz schön viel
(Das wäre wohl die Variante die der Personaler von mir zu hören bekommt).
-
DrGreenthumb schrieb:
DEvent schrieb:
und btw, lisp fehlt komposition ? also sowas geht nicht in lisp:
{ return funk(foo(xxx), bar(foo(xx))); }
was ist mit komposition gemeint?
sarfuan schrieb:
das habe ich vermutet, aber natürlich geht das in lisp
-
DEvent schrieb:
und btw, lisp fehlt komposition ? also sowas geht nicht in lisp:
{ return funk(foo(xxx), bar(foo(xx))); }
Das würde ich nicht als Komposition bezeichnen. Es ist natürlich strenggenommen eine, aber für sowas brauchts keine besonderen Sprachmechanismen, sowas kriegt man ja automatisch, wenn man verschachtelte Ausdrücke auswerten kann.
Nein, ich meine einen Kompositionsoperator o, mit dem ich 2 Funktionen komponieren kann. So dass (foo o bar)(x) == foo(bar(x)) gilt. In SML heißt er o, in Haskell heißt er . (Punkt), in Lisp gibts ihn nicht. Man kann natürlich leicht selbst eine compose-Funktion schreiben (siehe Paul Graham, "On Lisp"), aber wenn man danach ginge, was man in Lisp alles selbst schreiben kann ...
-
Warum in so vielen Foren so viele Leute unbedingt zig Programmiersprachen lernen wollen ist mir irgendwie unverständlich. In der Praxis können die meisten eine Sprache gut, eine ein bisschen und von allem anderen hat man "gehört". Eine Firma die ernsthaft auf zig Sprachen setzt ist mir auch noch nicht begegnet (abgesehen von weltweit operierenden Unternehmen wo man aber auch nur in einer kleinen Abteilung hockt).
Was man neben der Syntax lernt ist halt wie man effektiv testet, debuggt oder sich über Google, die MSDN, diversen Foren etc. schnell Hilfe holt. Für sowas und andere Sachen wie logisches Denken oder strukturiertes Arbeiten ist die Sprache an sich total egal.
-
Warum in so vielen Foren so viele Leute unbedingt zig Programmiersprachen lernen wollen ist mir irgendwie unverständlich. In der Praxis können die meisten eine Sprache gut, eine ein bisschen und von allem anderen hat man "gehört". Eine Firma die ernsthaft auf zig Sprachen setzt ist mir auch noch nicht begegnet (abgesehen von weltweit operierenden Unternehmen wo man aber auch nur in einer kleinen Abteilung hockt).
Was man neben der Syntax lernt ist halt wie man effektiv testet, debuggt oder sich über Google, die MSDN, diversen Foren etc. schnell Hilfe holt. Für sowas und andere Sachen wie logisches Denken oder strukturiertes Arbeiten ist die Sprache an sich total egal.
Wenn du nie mit einer funktionalen Sprache gearbeitet hast, kennst du die funktionalen Prinzipien nicht und kannst sie auch nicht in deinen Stil einfließen lassen, egal mit welcher Sprache du arbeitest. Durch komplett andere Vorgehensweisen lernt man andere Sichtweisen kennen und kann somit mit bestimmten Probleme ganz anders umgehen.
Es geht nicht darum möglichst viele Sprachen zu lernen.
-
Ich hab schon immer alles mit nem Hammer gemacht. Wofür man andere Werkzeuge gebrauchen sollte, wenn man eins beherrscht, ist mir völlig unverständlich. Man kann doch die Schrauben in die Dübel reinhämmern