Eine Wahl der Programmiersprache

Hallo, erfahrene Programmier-Experten! :smile:

Ich habe bisher ein wenig mit QuickBasic/DOS geübt… Nun will ich gerne
weiter kommen. :smile:

Welche Programmiersprache/Version empfehlt Ihr mir und evtl. auch warum?

Sie sollte…

[_] lange Dateinamen kennen/behandeln können,
[_] Parameter case-sensitiv behandeln,
[_] Schwerpunkte bei Zeichenfolgenverarbeitung
[_] und Dateioperationen haben,
[_] einen möglichst begrenzten Sprachschatz besitzen
und
[_] zu ausführbaren Programmen (binär) kompiliert werden können.

Zu viel verlangt? – Na, ich bin auf Eure Antworten gespannt…

Dank & CU DannyFox64

Hallo,

Hallo, erfahrene Programmier-Experten! :smile:

hm, das nehme ich jetzt mal nicht so ernst…

Welche Programmiersprache/Version empfehlt Ihr mir und evtl.
auch warum?

Was willst du denn machen? Programmieren lernen, oder kleine Progrämmchen schreiben, die dir die Arbeit erleichtern? Mit oder ohne grafischer Oberfläche? Welches Betriebssystem?

[_] lange Dateinamen kennen/behandeln können,

Können im Prinzip alle, die nicht total veraltet sind

[_] Parameter case-sensitiv behandeln,

Was für Parameter? Argumente an der Kommandozeile oder was? Oder meinst du, dass die Variablen case-sensitive sind?
Das ist auch bei den meisten der Fall

[_] Schwerpunkte bei Zeichenfolgenverarbeitung

perl, oder aus der gleichen Familie: python, ruby.

[_] und Dateioperationen haben,

haben im Prinzip auch alle modernen Programmiersprachen.

[_] einen möglichst begrenzten Sprachschatz besitzen

Wieso? ich habe oft gelesen, dass eine Sprache einfacher zu lernen sein soll, wenn sie wenige Befehle hat, aber ich halte das für Unsinn. Wenn man keine Befehle hat, die die Aufgaben erledigen, dann gibt es eben Bibilitheken dafür.

Um trotzdem zu antworten: mit wenigen Befehlen kommen z.B. C, C++, Eiffel und Java aus. In den vier genannten gibt es z.B. nicht mal ein „print“ oder so, das ist alles in Bibiliotheken organisiert.

[_] zu ausführbaren Programmen (binär) kompiliert werden
können.

aus den oben genannten „nativ“ nur C, C++, Eiffel. Aber zmindest für Java und perl gibt es Compiler, die executables erstellen.

Zu viel verlangt?

Es gibt nicht die Programmiersprache. Wenn dir die Stringverarbeitung wichtig ist nimm perl, wenn dir schnelle executables wichtig sind nimm C, wenn du programmieren willst z.B. Pascal…

Grüße,
Moritz

Hallo Moritz!

Hallo, erfahrene Programmier-Experten! :smile:

hm, das nehme ich jetzt mal nicht so ernst…

…erfahrener als meiner-einer. :wink:

Was willst du denn machen? Programmieren lernen, oder kleine
Progrämmchen schreiben, die dir die Arbeit erleichtern? Mit
oder ohne grafischer Oberfläche? Welches Betriebssystem?

So klein wird das Progrämmchen, das ich „brauche“ nicht sein. Es geht mir um eine rasche Datenerfassung in ca. 40 bis 45 Datenfeldern und zunächst die Ausgabe als *.csv-Datei.

Grafische Oberfläche ist zu vernachlässigen, bei der Frage nach dem BS aber würde mich ein leichtes Portieren selbstverständlich freuen… (siehe unten).

[_] lange Dateinamen kennen/behandeln können,

Können im Prinzip alle, die nicht total veraltet sind

[_] Parameter case-sensitiv behandeln,

Was für Parameter? Argumente an der Kommandozeile oder was?
Oder meinst du, dass die Variablen case-sensitive sind?
Das ist auch bei den meisten der Fall

…die Kommandozeilen-Parameter meinte ich tatsächlich.

[_] Schwerpunkte bei Zeichenfolgenverarbeitung

perl, oder aus der gleichen Familie: python, ruby.

Tja, Perl…

[_] und Dateioperationen haben,

haben im Prinzip auch alle modernen Programmiersprachen.

[_] einen möglichst begrenzten Sprachschatz besitzen

Wieso? ich habe oft gelesen, dass eine Sprache einfacher zu
lernen sein soll, wenn sie wenige Befehle hat…

Das ist ein Argument, das sich abschlagen lässt. Nur der „Gewalt von 1000 vordefinierten Funktionen“ gegenüber zu stehen bzw. zu sitzen, würde ich halt nicht mitmachen wollen. Und ich gebe Dir sicher auch mit dem folgenden Recht:

…aber ich halte das für Unsinn.
Wenn man keine Befehle hat, die die Aufgaben
erledigen, dann gibt es eben Bibilitheken dafür.

Um trotzdem zu antworten: mit wenigen Befehlen kommen z.B. C,
C++, Eiffel und Java aus. In den vier genannten gibt es z.B.
nicht mal ein „print“ oder so, das ist alles in Bibiliotheken
organisiert.

Kein „print“? - Das ist fast unvorstellbar für mich. *g*

[_] zu ausführbaren Programmen (binär) kompiliert werden
können.

aus den oben genannten „nativ“ nur C, C++, Eiffel. Aber
zmindest für Java und perl gibt es Compiler, die executables
erstellen.

Tja, Perl…

Zu viel verlangt?

Es gibt nicht die Programmiersprache. Wenn dir die
Stringverarbeitung wichtig ist nimm perl, wenn dir schnelle
executables wichtig sind nimm C, wenn du programmieren willst
z.B. Pascal…

…Perl, glaube ich wird es. :smile:

Dass Perl auch zu exe-files ausserhalb einer Webserver-Umgebung (CGI-BIN) kompiliert werden kann, war mir bislang unbekannt. (Ist dem tatsächlich so?)

Grüße,
Moritz

Ich danke Dir! - Jetzt weiss ich zumindest, wonach ich suchen kann…

Grüsse & CUL8R DannyFox64

Hallo,

…erfahrener als meiner-einer. :wink:

vermutlich. Ich habe übrigens auch mit QBasic angefangen. Und habe ganz schön geschluckt als ich hier: http://en.wikiquote.org/wiki/Edsger_Wybe_Dijkstra
etwas nettes über Basic-Programmierer gelesen habe…

Grafische Oberfläche ist zu vernachlässigen, bei der Frage
nach dem BS aber würde mich ein leichtes Portieren
selbstverständlich freuen… (siehe unten).

Dann bieten sich prinzipiell Skriptsprachen an, da man sie nicht auf jeder Plattform neu kompilieren muss, oder Bytecode-orientierte Sprachen (Java z.B.)

[_] Schwerpunkte bei Zeichenfolgenverarbeitung

perl, oder aus der gleichen Familie: python, ruby.

Tja, Perl…

*g*

[_] einen möglichst begrenzten Sprachschatz besitzen

Wieso? ich habe oft gelesen, dass eine Sprache einfacher zu
lernen sein soll, wenn sie wenige Befehle hat…

Das ist ein Argument, das sich abschlagen lässt. Nur der
„Gewalt von 1000 vordefinierten Funktionen“ gegenüber zu
stehen bzw. zu sitzen, würde ich halt nicht mitmachen wollen.
Und ich gebe Dir sicher auch mit dem folgenden Recht:

Wenn wir schon bei perl sind: nach kurzem lesen überfliegen der Liste der eingebauten Funktionen schätze ich, dass perl ca. 200 derselben hat. Davon sollte man sich aber nicht abschrecken lassen, man benötigt wirklich nur einen kleinen Bruchteil davon…

Kein „print“? - Das ist fast unvorstellbar für mich. *g*

Naja, ob man jetzt
System.out.println(„Hello world“); (Java)

oder

#include

cout

Hallo,

Welche Programmiersprache/Version empfehlt Ihr mir und evtl.
auch warum?

versuche es mal mit Pascal (unter DOS) und wenn Du das
kennengelernt hast, dann nimm Delhi.
Das ist für den Anfänger und Gelegenheitsprogrammierer
eine wunderbare Sache.
Programm incl. Hilfe in Deutsch, recht einfach und schnell
zu erlernen, gutes Tutorial, Onlinehilfe … ,

Sie sollte…

[_] lange Dateinamen kennen/behandeln können,
[_] Parameter case-sensitiv behandeln,
[_] Schwerpunkte bei Zeichenfolgenverarbeitung
[_] und Dateioperationen haben,
[_] einen möglichst begrenzten Sprachschatz besitzen
und

[_] zu ausführbaren Programmen (binär) kompiliert werden
können.

Und das ist eines der besten Vorzüge. Man compiliert im
einfachsten Fall ein exe-File, das man nur noch starten
braucht (wie unter DOS und doch voll Windowskompatibel).
Diese ganze Installations- und Anmeldemüll und ominöse
DLL und OCX’e fallen erstmal weg.
Gruß Uwi

Hallo Moritz!

…erfahrener als meiner-einer. :wink:

vermutlich. Ich habe übrigens auch mit QBasic angefangen. Und
habe ganz schön geschluckt als ich hier:
http://en.wikiquote.org/wiki/Edsger_Wybe_Dijkstra
etwas nettes über Basic-Programmierer gelesen habe…

Nun, ja, was hinter dem Link steckt, kann man so oder so interpretieren. Zumal meine Kenntnisse in einem regulärem Englisch nicht gerade besonders sind. Würde mich freuen, einmal wirklich über ein deutsches Schulenglisch hinaus zu kommen – ich meine, was das Reden und Verstehen an sich betrifft. :-?

Wenn wir schon bei perl sind: nach kurzem lesen überfliegen
der Liste der eingebauten Funktionen schätze ich, dass perl
ca. 200 derselben hat. Davon sollte man sich aber nicht
abschrecken lassen, man benötigt wirklich nur einen kleinen
Bruchteil davon…

Also 200 Funktionen von Perl sind im Ggs. zu 1500+ von Excel-Basic u.ä. überschaubar. IMHO die wesentl. Perl-Funktionen dürften auch die Zahl von 50 kaum überschreiten, oder irre ich da?

Kein „print“? - Das ist fast unvorstellbar für mich. *g*

Naja, ob man jetzt
System.out.println(„Hello world“); (Java)

oder

#include

cout Leute! Mehr Meinungen!!! Auffi! Los geht’s!

CU DannyFox64 *g*

…Perl, glaube ich wird es. :smile:

Vielleicht wäre Python eine Alternative?
Bietet auch mächtige Stringfunktionen und ist recht leicht zu erlernen, wenn man schon etwas programmieren kann.

dazu gibts AFAIK py2exe oder diverse Installer, die direkt ausführbare Windows-Propgramme erstellen.

LG
Stuffi

Hi, Stuffi!

Vielleicht wäre Python eine Alternative?
Bietet auch mächtige Stringfunktionen und ist recht leicht zu
erlernen, wenn man schon etwas programmieren kann.

dazu gibts AFAIK py2exe oder diverse Installer, die direkt
ausführbare Windows-Propgramme erstellen.

Danke, danke, werde ich mir einmal er-google-n… :smile:

Bericht folgt aber einige Zeit später…

CUL8R,
DannyFox64

Dass Perl auch zu exe-files ausserhalb einer
Webserver-Umgebung (CGI-BIN) kompiliert werden kann, war mir
bislang unbekannt. (Ist dem tatsächlich so?)

Es geht, aber dem Resultat nach passiert da nichts anderes, als dass das Skript mit dem Interpreter und benötigten Modulen zusammen in eine ausführbare Datei gepackt wird. Das funktioniert noch nicht mal besonders gut. Auf einem halbwegs vernünftigen System laufen Perl-Programme als normale Skripte schon flott genug, solange man nicht irgendwelchen mathematisch anspruchsvollen Kram macht.

Ansonsten kann ich eigentlich nur noch sagen, dass ich Perl mag und Python… naja, verabscheue.

Hallo Uwi!

Welche Programmiersprache/Version empfehlt Ihr mir und evtl.
auch warum?

versuche es mal mit Pascal (unter DOS) und wenn Du das
kennengelernt hast, dann nimm Delhi.

Du meinst „Delphi“?

Das ist für den Anfänger und Gelegenheitsprogrammierer
eine wunderbare Sache.

Sicher, sicher, aber ich habe andererseits auch keine Jahre Zeit alles wichtige zu lernen. Ich kann Dir auch nicht den Umfang meiner Vorstellungen erzählen, was ich am allerliebsten „damit“ bewerkstelligen würde… das täte unter anderem auch den Rahmen der Postings sprengen und würde wieder sehr in Richtung von „Gesinnungskampf“ führen…

Programm incl. Hilfe in Deutsch, recht einfach und schnell
zu erlernen, gutes Tutorial, Onlinehilfe … ,

In der Tat, das ist von Vorteil.

[_] zu ausführbaren Programmen (binär) kompiliert werden
können.

Und das ist eines der besten Vorzüge. Man compiliert im
einfachsten Fall ein exe-File, das man nur noch starten
braucht (wie unter DOS und doch voll Windowskompatibel).
Diese ganze Installations- und Anmeldemüll und ominöse
DLL und OCX’e fallen erstmal weg.

Hmm! Windoz-kompatibel! Gut! Und eben ein Kompakt-EXE-File.

Gruß Uwi

Gruss und Dank zurück,

CU DannyFox64

[_] lange Dateinamen kennen/behandeln können,

Wie schon vorher gesagt sollte das praktisch jede Sprache können, solange das Betriebssystem auf dem das Programm läuft das auch kann. Da wird ja nichts anderes gemacht als dem OS eine Zeichenkette zu übergeben, für die dann ein Dateihandle erzeugt und zurückgegeben wird.

[_] Parameter case-sensitiv behandeln,

Welche Sprache macht das nicht?

[_] Schwerpunkte bei Zeichenfolgenverarbeitung

Perl ist für nichts anderes gemacht worden. Lisp ist dafür wohl auch ganz gut geeignet, aber beschäftigt habe ich mich damit leider noch nicht. Man kann damit halt relativ leicht Parser bauen und beliebige Datenstrukturen runterrasseln. Für C(++) gibt es Bibliotheken für praktisch alles, aber wirklich geeignet zum Textfressen ist die Sprache trotzdem nicht.

[_] einen möglichst begrenzten Sprachschatz besitzen

Brainfuck. Viel beschränkter als das geht nicht. Ansonsten bieten ziemlich wenige Sprachen Funktionalität an, die über reinen Kontrollfluss (if…then, for, while, goto) hinausgehen.

Hallo,

versuche es mal mit Pascal (unter DOS) und wenn Du das
kennengelernt hast, dann nimm Delphi.

Du meinst „Delphi“?

Ja natürlich, ist ja der Nachfolger von Borland TurboPascal.

Hmm! Windoz-kompatibel! Gut! Und eben ein Kompakt-EXE-File.

Ich habe gerade wieder mehrere kleine Desktopprogramme
(für Bedienung/Parametierung/Meßwertaufzeichnung von
Meßgeräten) von Studenten machen lassen.
Da kann ich auch selber recht problemlos kleine Fehler und
Macken beheben.

Nach unendlichem Leid mit C++ wollte ich auf Anraten eines
Programmierers noch mal mit VB im Vergleich zu Deplhi
auseinandersetzen. Im Nachhinein muß ich sagen, daß man mit
VB etwa das gleiche erreichen kann, aber die Installationen
und Registeryeinträge von irgendwelchen OCX sind sowas von
Fehleranfällig und nervig, daß ist es schon bereut habe.

Die Delphiprogramme sind im allg. sehr stabil, sehr kompakt
(als Zip kaum größer als ca. 0,5…0.8MB, auch noch gut
als EMail zu verschicken) und in bezug auf Installationen
und spätere Updates sowas von Pflegeleicht :-!)
-> EXE austauschen - fertich !!!

Die nehmen es eben nicht übel, wenn der 0815-User ohne
Windoofs-Führerschein einfach die alten Programme löscht
und die neue EXE auf die HD spielt.

Zu Delphi gibt es im Internet auch eine riesige Zahl von
frei verfügbaren Komponenten. Es gibt kaum eine Sache, die
man da als Anfänger selber machen müßte.

Andererseits hat man keine Einschränkungen die Bedienober-
fläche unter Windows betreffend. Maussteuerung, Tastatur-
stuerung, Hotkeys, Icons, Hints, sonstige allerelei
Windows-übliche Steurelemente funktionieren ganz selbstverständlich. Man muß sich da um fast nix weiter
kümmern.

Ich habe ca. 14 Tage gebraucht um die Grundlagen zu
begreifen und konnte dann die ersten Programme schreiben
(mit Vorkenntnis von TP). Bei C++ braucht man Monate bis
Jahre und macher begreift es nie :frowning:
Gruß Uwi