Kann man eine Programmiersprache, kann man alle
-
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
-
Ja als Argumentation ist jeder noch so absurde Vergleich legitim sogar eine komplette Programmiersprache mit einem simplen Hammer
Warum man möglichst viele "Stile" können muss ist mir nicht so ganz klar, aber gut man kann auch amerikanisch lernen, damit man mal so richtig vulgär fluchen kann.
-
Ach das ist mir hier jetzt eindeutig zu lahmarschig ich überlass das Posten wieder den anderen.
-
asdrubael schrieb:
Ja als Argumentation ist jeder noch so absurde Vergleich legitim sogar eine komplette Programmiersprache mit einem simplen Hammer
Ja, eine Programmiersprache ist nichts anderes als ein Werkzeug. Und genauso unpraktisch, wie das Schraubeneinschlagen geht, ist auch das Schreiben einer GUI-Anwendung in C++, die nebenbei mit Threads, Serialisierungen und Datenbanken (alles natürlich mit Unicode) arbeiten soll, deutlich komplizierter als in manch anderen Sprachen. Beispiel mit funktionaler Programmierung kann ich leider nicht bringen.
-
asdrubael schrieb:
Warum man möglichst viele "Stile" können muss ist mir nicht so ganz klar, aber gut man kann auch amerikanisch lernen, damit man mal so richtig vulgär fluchen kann.
wer mehr stile kann, kann auf jedes programmierproblem anders reagieren, es hat ja auch einen grund, wieso zb boost 2 libraries unterstützt, die aspekte der funktionalen programmierung emulieren. das ist keine spielerei
-
Eine Sprache ist mehr eine Werkzeugkiste als ein Werkzeug. Schau dir grade mal C++ an:
* Prozedurale Programmierung
* Modulare Programmierung
* Strukturierte Programmierung
* Programmierung mit selbstdefinierten Datentypen (abstrakte Datentypen)
* Objektorientierte Programmierung
* Generische Programmierung mittels Templates.Das ist nicht einfach nur ein Werkzeug und sicher nicht nur ein Stil. Wenn in einer anderen OOP-Sprache etwas schöner geht ist das sicher ein Grund die Sprache zu wechseln, aber den Selbstzweck das man dann noch eine andere Herangehensweise drauf hätte sehe ich nicht.
Und auch wieder diese Storys mit GUIs, Datenbanken etc. Wenn eine Firma das regelmäßig macht, dann setzt sie die Sprache ein die das optimal unterstützt und nicht eine die das gut kann, eine die es schlecht kann und noch fünf andere damit es schön bunt ist.
-
Eine Sprache ist mehr eine Werkzeugkiste als ein Werkzeug. Schau dir grade mal C++ an:
* Prozedurale Programmierung
* Modulare Programmierung
* Strukturierte Programmierung
* Programmierung mit selbstdefinierten Datentypen (abstrakte Datentypen)
* Objektorientierte Programmierung
* Generische Programmierung mittels Templates.Das ist nicht einfach nur ein Werkzeug und sicher nicht nur ein Stil.
Eine sehr kleine Werkzeugkiste..
Wenn in einer anderen OOP-Sprache etwas schöner geht ist das sicher ein Grund die Sprache zu wechseln, aber den Selbstzweck das man dann noch eine andere Herangehensweise drauf hätte sehe ich nicht.
Jede Sprache hat verschiedene Paradigmen, die sie mehr oder weniger unterstützt. Eben durch dieses "mehr oder weniger" und die verschiedenen Paradigmen kommt fast zwangsläufig eine neue Vorgehensweise für dich dazu. Beispiel: C++ -> OOP <- Lisp.
Wenn eine Firma das regelmäßig macht
Allein das "Wenn" spricht Bände.
dann setzt sie die Sprache ein die das optimal unterstützt und nicht eine die das gut kann, eine die es schlecht kann und noch fünf andere damit es schön bunt ist.
Hä? Thema?