Welche zweite Programmiersprache?

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.

Welche Programmiersprache neben Python?

C/C++
7
27%
C#
0
Keine Stimmen
VB
0
Keine Stimmen
Java
6
23%
PHP
1
4%
JavaScript
4
15%
Perl
0
Keine Stimmen
Ruby
0
Keine Stimmen
Lisp
1
4%
Scheme
7
27%
 
Insgesamt abgegebene Stimmen: 26
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Wenn es nur um Anwendungen geht, warum benutzt ihr dann nicht einfach Python oder Java? So kann einer dem anderen wenigstens etwas zeigen.
Das Leben ist wie ein Tennisball.
Xfd7887a
User
Beiträge: 135
Registriert: Montag 23. Juni 2014, 17:11

Weil wir beide eine Zweitsprache bringen möchten. Wäre sonst auch unfair, wenn sich der eine jetzt hinsetzen muss. Wir wollen die neue Sprache ja zusammen lernen.
BlackJack

@Xfd7887a: Skriptsprache ist ein problematischer Begriff, den solltest Du vermeiden weil der sehr schwammig ist. Wie Leonidas schon sagte ist die Frage nicht besonders sinnvoll, weil jetzt hier jeder seine nächstliebste Sprache nach Python und Java nennen wird, wenn die beiden von vornherein ausgeschlossen sind.

Kleine Anwendungen bauen, aber z.B. auch auf Webseiten zugreifen, ist kein konkreter Anwendungszweck.

Ihr könnt ja Python in Form von Jython nehmen. Du kommst dann von Python auf Java zu und Dein Bekannter von Java auf Python. So kann jeder eine zweite Sprache lernen, ohne das ihr euch eine neue Sprache suchen müsst. :-)

Hier mal als Beispiel für ein JavaScript-Programm ausserhalb des Browsers das Parsen der Element-Daten aus einem anderen Thema hier in JavaScript:

Code: Alles auswählen

#!/usr/bin/env node
'use strict';

var jsdom = require('jsdom');

var idFunc = function (value) { return value; };

var parseFloat2 = function (string) {
    if (string.trim() === '') {
        return null;
    }
    if (string.charAt(0) === '\u2212') { // Minus sign.
        string = '-' + string.slice(1);
    }
    return parseFloat(string.replace(',', '.'));
};

var rowParsers = [
    ['name', idFunc],
    ['symbol', idFunc],
    ['atomicNumber', parseInt],
    ['weight', parseFloat2],
    ['density', parseFloat2],
    ['melt', parseFloat2],
    ['boil', parseFloat2]
];

var processRow = function (tds) {
    var element = {};
    tds.slice(0, rowParsers.length).each(function (index, td) {
        var tmp, name, parser;
        tmp = rowParsers[index];
        name = tmp[0];
        parser = tmp[1];
        element[name] = parser(td.textContent);
    });
    return element;
};

var process = function (window) {
    var elements = [];
    window.$('table.wikitable > tr:gt(0)').each(function (index, row) {
        elements.push(processRow(window.$('td', row)));
    });
    console.log(elements);
};

var main = function () {
    jsdom.env(
        'http://de.wikipedia.org/wiki/Liste_der_chemischen_Elemente',
        ['http://code.jquery.com/jquery.js'],
        function (error, window) {
            if (!error) {
                process(window);
            } else {
                console.log(error);
            }
        }
    );
};

if (require.main === module) {
    main();
}
Xfd7887a
User
Beiträge: 135
Registriert: Montag 23. Juni 2014, 17:11

Das sieht doch gar nicht so schlecht aus. Wieso ist JavaScript jetzt für die Tonne? Die Verbreitung scheint auch nicht so klein zu sein, man liest ja fast überall davon. Und am Anfang des Threads wurde gesagt, dass JavaScript eine gute Ergänzung zu Python ist. Also was ist so schlecht daran?
Zu J-ython findet man wahrscheinlich ziemlich wenig für Anfänger, außerdem klingt das irgendwie komisch, so ein Mix :D

Edit: Ist JavaScript fast das Gleiche wie Java? Dann würde es sich für meinen Kumpel ja nicht lohnen.
Edit2: Ist Ruby wirklich so Python-ähnlich? Benutzt hier jemand Ruby?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Xfd7887a hat geschrieben:Wieso ist JavaScript jetzt für die Tonne?
Die Semantik der Sprache ist total bizarr, sinnvolle Datenstrukturen fehlen fast gänzlich, die Communitiy ist zwar groß aber zu einem großen Teil ziemlich ahnungslos (was ich für Bugreports manchmal bekomme, abenteuerlich), nicht sonderlich portabel (man kann entweder für einen der Browser programmieren womit man die Unterschiede aber eh mit Tools wie jQuery überpflastern muss, oder aber Standalone wo es auch zig inkompatible Runtimes gibt, GJS, Nodejs, Rhino, Seed, wiesiealleheißen, die Fragmentierung ist fast so schlimm wie bei Scheme). Ich habe den Eindruck dass man quasi alles was mit JavaScript geht, deutlich eleganter in Python machen kann. Das einzige was mit Python nicht geht ist Ausführung im Browser. Insofern empfinde ich den Schritt von JavaScript nach Python als deutlichen Rückschritt.

Selbst dieses Argument "gleiche Sprache im Back- und Frontend" was mich eh nie sonderlich überzeugt hat (was ist mit HTML? CSS?) scheint immer weniger zu ziehen, nachdem der Trend langsam von Nodejs zu Go geht.
Xfd7887a hat geschrieben:Die Verbreitung scheint auch nicht so klein zu sein, man liest ja fast überall davon.
Selbiges gilt für C, C++, Java und PHP. Soll man diese lernen weil sie verbreitet sind? Vielleicht. Ich denke nicht, dass extreme Verbreitung super-nützlich ist ("millionen Fliegen können nicht irren"). Klar, eine bestimmte Verbreitung ist schon nützlich, wenn man Dokumentation und Libraries nutzen will (daher hat hier auch niemand Factor empfohlen), aber ab dem Punkt wo es "relativ verbreitet" wird, heißen mehr Programmierer nicht unbedingt bessere Qualität. Gerade in kleineren Communities habe ich oftmals ziemlich gute Erfahrungen gemacht, wo man schnell Hilfe von erfahrenen Leuten bekommt. In großen Communities sehe ich oftmals eher dass Anfänger andere Anfänger lehren, oftmals zu grauenhaften Ergebnissen. Diese Tatsache wurde sogar hier im Forum vor gar nicht so langer Zeit diskuttiert, im Kontext von Lerngruppen :-)
Xfd7887a hat geschrieben:Edit: Ist JavaScript fast das Gleiche wie Java? Dann würde es sich für meinen Kumpel ja nicht lohnen.
Nein. Aber das kannst du ja auch auf Wikipedia nachlesen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

@Xfd7887a: JavaScript ist teilweise syntaktisch nicht so schön zu schreiben, und die Sprache hat einige Fallen wo man drauf reinfallen kann wenn man nicht drauf achtet. Zum Beispiel das automatische Konvertieren von Datentypen, weshalb man eigentlich immer den ``===``-Operator statt ``==`` verwenden sollte. Dann sind alle Variablen die nicht mit ``var`` als lokal deklariert sind, global, wo man auch drauf aufpassen muss. Und die ”truthiness” von Werten ist teilweise auch überraschend.

JavaScript ist eine gute Ergänzung wenn man Webanwendungen schreiben will, weil man es dazu schlicht und einfach *braucht*, nicht weil die Sprache besonders gut ist. Ist halt das einzige was in allen Browsern läuft.

JavaScript ist ganz und gar nicht wie Java. Der Name und die Syntax sind nur Marketing, denn eigentlich hätte das ein Scheme-Dialekt werden sollen.

Was erwartest Du denn für Material für Anfänger bei Jython? Das ist grunsätzlich erst einmal Python, dafür gibt es viele Informationen. Wenn man das dann mit Java verbinden möchte, braucht man Kenntnisse in Java. Da gibt es auch viel Material.

Ich würde sagen Ruby fällt in die gleiche Kategorie von Sprachen. So wirklich ähnlich bei der Verwendung finde ich es dann aber nicht. Da erinnert es mich eher an Perl und Smalltalk. Ich denke einer der Hauptgründe warum ich Python und Ruby eigentlich *total* unterschiedlich finde sind externe vs. interne Iteratoren. Ich benutze Iteratoren sehr gerne um müsste bei Ruby komplett umdenken.
Xfd7887a
User
Beiträge: 135
Registriert: Montag 23. Juni 2014, 17:11

@Leonidas Deine Argumente, was die Community angeht, kann ich nachvollziehen. Das mit der Syntax glaube ich dir einfach mal :D.
Es scheint, es gibt keine richtige Lösung für mein Problem. Mein Kumpel würde gerne eine einfache Sprache lernen ähnlich wie Python. Also denke ich mal werden wir beide jetzt Ruby lernen.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Um an meinen Vorschlag von oben mal anzuknüpfen: Wenn dein Kumpel eine Sprache wie Python lernen möchte, dann könntet ihr auch beide Python lernen. Ausgehend, von dem was man so in deinen Beiträgen lesen könnte, fehlt dir dort noch jede Menge. Sei es nun der ganze OOP-Bereich, dann Dinge wie Iteratoren und Generatoren und natürlich gibt es da noch eine ganze Standardbibliothek mit nützlichen Modulen. Vielleicht habt ihr beide mehr davon, wenn du erstmal die eine Sprache ausführlich lernst. Wenn dein Kumpel recht fit in Java ist, dann wird er die Grundlagen innerhalb weniger Tage drauf haben und ihr seid auf dem selben Niveau. Nimm das bitte nicht persönlich, du bist eben erst ganz am Anfang mit Python und recht weit vom Können entfernt. Nur weil du die Syntax beherrscht, beherrscht du noch nicht die Sprache.
Das Leben ist wie ein Tennisball.
Xfd7887a
User
Beiträge: 135
Registriert: Montag 23. Juni 2014, 17:11

Jap, das ist mir klar. Ich werde nochmal drübernachdenken.
Antworten