• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Erfahrungen mit alternativen Script- oder Programmiersprachen

Andy_m4

Well-Known Member
#52
Es gibt keine Sprache Delphi.... Delphi ist die IDE und die benutzte Hochsprache ist Objektpascal, bzw bei Lazarus Freepascal.;)
Gut. Wenn Du so kleinlich sein willst, dann schlüsseln wir mal auf.
Danach ist Lazarus zwar eine IDE aber FreePascal lediglich eine Implementation von ObjectPascal.
Delphi ist sowohl ein ObjectPascal-Derivat als auch eine IDE.

Es gibt Unterschiede zwischen ObjectPascal und Delphi. Und man muss auch sagen, FreePascal orientiert sich eher an Delphi denn an dem ursprünglichen ObjectPascal.

Alle Klarheiten beseitigt? ;)
 

ralli

BSD Fanboy
Themenstarter #57
Alles klar und im grünen Bereich.:) Ich wollte Deine Kompetenz nicht in Frage stellen. Es gibt aber unbedarfte Neulinge oder Einsteiger, die suchen dann nach ner Sprache Delphi, die natürlich nicht gibt. Wir kennen den Unterschied natürlich. Und nun muß ich mich weiter um scribble kümmern, wie geil ist das denn????:D
 
#58
Noch eine "Interessante" Sprache hab ich:
Die Skriptsprache von Autohotkey. Gefühlt nimmt man Basic und C und mischt das ganze. Richtig eckelhaft, wird es wenn man mehrere Bedingungen für einen Mausklick haben will.
 

Athaba

Libellenliebhaber
Mitarbeiter
#59
Doch, natürlich stimmt das. Go hat diese Unsitte eines "impliziten Semikolons". Geschweifte Klammern in einer neuen Zeile machen also exakt nicht das, was du glaubst:

Code:
if (true)
{
    // Syntaxfehler! Aaaaargh!
}
Das halte ich für bevormundend und ziemlich pythonesque. Python neigt ja auch dazu, dem Benutzer Formatierung aufzuzwingen. Ich bin da C-verwöhnt.
Gut, obiges liegt aber mehr daran, dass die Klammern um true optional sind und nicht wie bei C und Co. Teil vom if-Statment.

Eigentlich wäre der Code so:

Code:
if true
{
    // Syntaxfehler! Aaaaargh!
}
Aber ja, Syntax ist eine Geschmacksache. Ich dachte du redest von anderen Dingen (Einrückungen, etc.).


Go wurde von Robert Griesemer, Rob Pike und Ken Thompson entworfen. Robert Griesemer hatte man vorher überhaupt nicht wahrgenommen, er war wohl eher im JavaScript-Umfeld (Googles V8-Engine) aktiv; Rob Pike ist für manches (darunter auch diverse Sprachen) verantwortlich, aber C gehört nicht dazu; Ken Thompson war unter den ersten C-Entwicklern, aber erfunden hat er "nur" dessen Vorgänger B.
Würde Russ Cox nicht außen vorlassen. War zwar kein ursprünglicher Designer, hat aber hat trotzdem erheblichen Einfluss darauf. Und ja, meinte Ken Thomposon, sorry. Rob Pike wollte ich eigentlich im Zusammenhang mit Sprachen an die Go angelehnt ist erwähnen. Go hat sich ein paar Sachen von Limbo geschnappt.

In Java kann man eine Menge groben Unfug machen. :D
Du hast mich glaube ich missverstanden. Mir ging's darum dass du an Java zig Leute ran setzen kannst, was bei sagen wir mal Perl, Ruby, Python, etc. meist schwieriger ist. Ja, die Python-Jünger behaupten gerne mal, dass jeglicher Python-Code schön und simpel ist (und jeglicher Ruby, Perl, etc. Code unmaintainbar). Verstehe mich nicht falsch, ich mag Java nicht und ich werde für noch so viel Geld nicht zum Java-Entwickler, aber ein Grund warum Java gerade in großen Unternehmen verwendet wird ist dass man mehr Hindernisse hat mal schnell was hinzuhacken und im den Code schnell zu verändern.

Meiner Meinung nach (und ja, das ist nur eine Meinung, will niemanden von Java abbringen) macht Java das auf der Schiene Hindernisse (und sei es auch nur, dass man wenn man nicht die Standard-Konstrukte der IDE, etc. verwendet ewig tippt) in den Weg zu werfen, wo man fairerweise auch sagen muss das sind Altlasten.

Go macht das mehr in Richtung wenig, relativ einheitliche einfache Sprachkonstrukte, du kannst nicht so viel heimliche Magie einstreuen, wenn du das willst musst du Unmengen Code schreiben und wirst (hoffentlich) keine Freude an der Sprache haben. Außerdem eben so Sachen, wie oben erwähnte starre Syntax (und dann einen offiziellen Codeformater - Juhu, keine stundenlangen Diskussionen wie man das jetzt genau schreibt).

Google und Co. haben halt auch wenn sie gerne tun nicht nur Profis unter den Programmieren. Das ist bei der Masse wohl nicht so einfach. Dann setzt man eben auf Java, Python, etc. mit Hindernissen und Zwangsjacken. Bei Java hat das dann zu Unmengen an alternativen halbkompatiblen Sprachen geführt und die aktuelle Ausprägung ist Kotlin. Wie gesagt, soll nicht heißen, dass das der einzige Grund ist, aber ich denke ein wesentlicher.


Das liegt aber auch daran, dass es gegenüber C++ (in dessen aktuellen Standards) nicht übermäßig viele Vorteile aufweist. Zudem ist seine Community eher klein. Da steckt halt kein riesiges Marketingbudget mit einem alltäglichen Anwendungsfall (Rust: Mozilla mit Firefox) drin. D schwirrt dieser Tage auch ab und zu wieder an mir vorbei, aber immer, wenn ich es mir eine Weile ansehe, fällt mir auf, dass ich alles, was es anzubieten hat, auch anderswo bekomme. Andererseits gefällt es mir persönlich immer noch um Längen besser als das erfolgreichere Äquivalent...
Jap, wie erwähnt. Eine kleine Community, aber doch für alles mögliche Libraries. Hier ging's auch um eher alternative Sprachen. Und D ist sogar eine Sprache mit der man Jobs bekommt. Wie gesagt, verwende sie selbst nicht, aber auch wenn C++ aufgeholt, für Leute, die eigentlich sowas wie Rust oder C++ wollen jedenfalls ein Blick wert und ein zwei große Unternehmen setzen es ja ein wenn man drauf verweisen will. C++ hat eben auch Altlasten, aus Fehlern gelernt und das merkt man der Sprache an, sowohl im Positiven, als auch im Negativen.

Zu viele Leute benutzen Go (Google), Rust (Mozilla Corporation), C# (Microsoft) und Java ('orrible) ohne jede Skepsis.
Genau deshalb habe ich nicht geschrieben, dass die Sprache von einer Firma gemacht wurde, sondern eben dass sie "stark an eine Firma gebunden" ist. Soll heißen im Gegensatz zu D, wo die Leute über die Sprache erst über das Unternehmen erfahren haben, wo es eine eigene Lizenz für den Gebrauch der Sprache bzw. deren größte Implementierung gab (jetzt nicht mehr so), etc. ist es bei Google jetzt nicht so, dass der Shareholder sich genau ansieht, wie die Sprache so ankommt, oder falls Go in der Vergessenheit versinkt Google mit untergeht, etc. Google verdient damit direkt kein Geld und indirekt zumindest derzeit wohl auch kaum. Die Sprache ist intern scheinbar nicht mal allzu beliebt. Auch wird Go wie's derzeit aussieht wohl weiterleben, wenn bei Google niemand dafür bezahlt wird. Das war bei D wohl auch lange nicht der Fall. Bei Rust ist es so, dass ich das Projekt selber näher an Mozilla sehe und die da auch etwas riskieren denke ich, andererseits war und ist die breite Community da deutlich stärker involviert als bei Go. Bei C# und Java haben sich die Bedenken glaube ich nicht zuletzt auf Grund von freien Implementierungen und großen kommerziellen Nutzern dieser freien Implementierungen so gut wie in Luft aufgelöst.

Es geht aber heute auch quasi nicht mehr mit einer Programmiersprache als Hauptprodukt reich zu werden denke ich. Ich meine jetzt ein Unternehmen zu gründen mit dem Ziel eine neue Programmiersprache zu implementieren. Kotlin, Go, Rust, Swift, etc. wurden alle von etablierten Unternehmen gemacht, die eine offene (Design und Hauptimplementierung) Sprache nebenher gebaut haben. Auch wenn's dafür unterschiedliche Gründe gab. Digital Mars, hat so wie ich das verstehe sich auf Sprachen/Implementierungen konzentriert und das war vor einigen Jahren definitiv ein Grund für gesundes Misstrauen, eben mehr als bei Rust, Go, Kotlin, Swift, etc.

Da war jetzt sehr viel Meinung drin, aber ein Grund dafür, dass es so viele gibt ist natürlich auch dass es eine Geschmackssache ist. Noch dazu ist das von Moden getrieben und jetzt gibt's ja gerade einen Trend in die Richtung "meine Lieblingssprache mit leichten Abwandlungen" auf Basis von LLVM oder vielleicht JVM zu implementieren. Gibt sicher in ein paar Jahren einen riesigen Friedhof. Finde es aber trotzdem gut, dass der gefühlte Stillstand bei den es außerhalb des Bereichs der Skriptsprachen gebrochen scheint und auch ein paar Dinge, die ständig behauptet wurden gebrochen wurden und man nicht nur auf irgendwelche Nischensprachen oder Experimente an Unis verweisen muss.

Oh und zum Thema alternative Sprachen. Für Leute die an Sprachen, die mehr in Richtung Ruby sind gibt's auch zwei. Crystal ist Ruby-like auf Basis von LLVM und Elixir auf Basis der Erlang VM.
 
C

CrimsonKing

Guest
#60
Ja, die Python-Jünger behaupten gerne mal, dass jeglicher Python-Code schön und simpel ist (und jeglicher Ruby, Perl, etc. Code unmaintainbar).
Naja...
http://wiki.c2.com/?ObfuscatedPython

ein Grund warum Java gerade in großen Unternehmen verwendet wird ist dass man mehr Hindernisse hat mal schnell was hinzuhacken und im den Code schnell zu verändern.
Das spricht doch eigentlich vor allem gegen Java. Bei Unternehmen ist Zeit Geld. Nicht schnell was hacken zu können ist im Zweifel ein Punkt für die Konkurrenz.

Juhu, keine stundenlangen Diskussionen wie man das jetzt genau schreibt).
Hat man in C auch nicht. C lässt einen schreiben, wie man gerade Bock hat. Juhu, nicht mal die Ausgangsdiskussion!

Google und Co. haben halt auch wenn sie gerne tun nicht nur Profis unter den Programmieren.
Go ist entstanden, weil es Leute gibt, die zu blöd für C sind.
Rust ist entstanden, weil es Leute gibt, die zu blöd für C++ sind.

Beides kein Geheimnis, beides Teil der jeweils offiziellen Darstellung, wenn auch mit dem Hintergedanken, dass das dann eher an der Sprache als an den Leuten liegen muss. Ich teile durchaus manche Kritik an C und C++, aber deswegen die Sprache wechseln und noch mal von vorn anfangen müssen? Warum?

Genau deshalb habe ich nicht geschrieben, dass die Sprache von einer Firma gemacht wurde, sondern eben dass sie "stark an eine Firma gebunden" ist.
So wie Rust, Go und Java, die im Falle eines morgigen Todes der jeweiligen Entwicklerfirma quasi tot wären? (Nicht, dass irgendwas davon ein Verlust wäre...)

Bei C# und Java haben sich die Bedenken glaube ich nicht zuletzt auf Grund von freien Implementierungen und großen kommerziellen Nutzern dieser freien Implementierungen so gut wie in Luft aufgelöst.
Die freien Implementierungen kann ich so nicht stehen lassen. Mono gehört ja inzwischen Microsoft, das OpenJDK gehört (mehr oder weniger, mindestens aber patentrechtlich) 'orrible, wenn ich das richtig verstanden habe? Hat ja das proprietäre JDK offiziell abgelöst.
 

Andy_m4

Well-Known Member
#62
Das spricht doch eigentlich vor allem gegen Java. Bei Unternehmen ist Zeit Geld. Nicht schnell was hacken zu können ist im Zweifel ein Punkt für die Konkurrenz.
In einer Firma zählt aber auch, dass jemand den Code 4 Wochen später noch lesen kann und optimalerweise auch jemand, der nicht der Autor des Codes ist.

Ob das daran liegt, dass Java einen Hindernisse in den Weg legt ich würde eher sagen, Java ist starr. Für ein Teilproblem gibts eine typische Java-Lösung. Das versetzt den Java-Programmierer in die Lage den Code eines anderen Java-Programmierers gut lesen zu können.

Eine Sprache die mehr Freiheiten aufweist macht genau diesen Aspekt schwieriger. Ich denk da nur an C++ oder noch viel extremer: Perl

So wie Rust, Go und Java, die im Falle eines morgigen Todes der jeweiligen Entwicklerfirma quasi tot wären?
Nicht zwangsläufig. Die Implementierung sind alle Open-Source. Wobei Rust und Go sehr vom Engagment der dahinter stehenden Firmen getrieben sind.

Die besten Überlebenschancen hätte aber zweifelsohne Java. Ganz einfach, weil die Community so groß ist. Und die Java-Community hat ja auch schon gezeigt, dass sie notfalls ohne Sun-/Oracle-Führung auskommt. Denk beispielsweise an Java EE und die Alterntive Spring.

das OpenJDK gehört (mehr oder weniger, mindestens aber patentrechtlich) orrible, wenn ich das richtig verstanden habe?
Nein. OpenJDK ist vollständig frei (GPL). Das Einzige Problem was Du haben könntest ist das Markenrecht: Sprich wenn Du das Ding forkst und es Java nennen willst. Aber ich glaube nicht, dass das ein echtes Hinternis wäre.