Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Apr 20, 2024 09:34

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 83 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6  Nächste
Autor Nachricht
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Di Apr 15, 2014 11:22 
Offline
DGL Member

Registriert: Mo Nov 09, 2009 12:01
Beiträge: 200
Zitat:
Pacal ist leider ein Nischenprodukt geworden, obwohl es alles enthält um zeitgemäss zu programmieren.
Ein Nischenprodukt ist es im Hobbybereich geworden. Im Profibereich findet man doch immer wieder hochwertige Produkte, die mit Delphi entwickelt sind, wo man es gar nicht glaubt. (Aus meiner eigenen Erfahrung) Deshalb hat Delphi auch noch alles, was man braucht. Emba nimmt Geld für sein Produkt und kann es entsprechend auch entwickeln. Lazarus/ CodeTyphon wird in diesem Sog auch irgendwie mitgezogen.
Freie Produkte wie Java o.a. werden wahrscheinlich auch irgendwie querfinanziert und sind deshalb kostenlos.
Würde Delphi/ Pascal nicht so verteufeln, weil man gerade nicht mit dem "Mainstream" läuft.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Di Apr 15, 2014 14:01 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Flash hat geschrieben:
Java zu können (und das an Projekten beweisen zu können) ist eigentlich ne Jobgarantie. Außerdem kann man damit so ziemlich jedes Gebiet der SW Entwicklung adressieren.
Außer alles, was mit Echtzeit und/oder Hardwarenähe zu tun hat. Also der ganze spannende Kram ;).

(Stubser in die Richtung: Die Frage sollte lauten: Welche SpracheN SIND zeitgemäß? Jede Sprache hat ein anderes Einsatzgebiet. Was kein Argument für oder gegen Java sein soll, selbst wenn es in diesem Kontext erscheint)

grüße

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Di Apr 15, 2014 14:40 
Offline
DGL Member

Registriert: Do Dez 29, 2011 19:40
Beiträge: 421
Wohnort: Deutschland, Bayern
Programmiersprache: C++, C, D, C# VB.Net
Außerdem spielen auch persönlichen Präferenzen eine Rolle.
Ich persönlich zum Beispiel, würde mit Java nicht glücklich werden.

Generell kann man halt sagen, dass man mit verbreiteteren Sprachen tendenziell immer einfacher hat als mit Nischensprachen. Ich habe mir zb. mal D angeschaut und meiner Meinung nach hat die Sprache echt Potential.
Aber ohne brauchbare Libs, IDE, Compiler oder Support mir einfach für den produktiven Einsatz noch zu umständlich, auch wenn ich sie echt interessant finde. In gewisser Weise ein Henne-Ei Problem.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Di Apr 15, 2014 17:13 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
Würde Delphi/ Pascal nicht so verteufeln, weil man gerade nicht mit dem "Mainstream" läuft.

Wie du so schreibst, tönt es wie wen Java einfach Mode ist.

Zitat:
Im Profibereich findet man doch immer wieder hochwertige Produkte, die mit Delphi entwickelt sind, wo man es gar nicht glaubt.

Das konnte ich auch schon feststellen, meistes wird es durch das Delphi-Icon in der Anwendung verraten. Dieses wird vielfach nicht durch ein eigenes Icon ersetzt.
Es ist halt schon so, das man mit Delphi/Lazarus sehr einfach eine Anwendung schreiben kann, bei der auch die Oberfläche(GUI) stimmt.
Turbo-Pascal wurde früher auch gerne für Industrie-Anwendungen gebraucht.

TP hat den gleichen effiezenten Code wie C/C++ erzeugt, nur war Pascal weniger Fehleranfällig.
Beispiel: In C kann ich "int i = 3.13" schreiben, bei Pascal kommt ein Fehler.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Di Apr 15, 2014 17:43 
Offline
DGL Member

Registriert: Mo Nov 09, 2009 12:01
Beiträge: 200
@mathias
Zitat:
Wie du so schreibst, tönt es wie wen Java einfach Mode ist.
Also ich kenne Java gar nicht. So!
Aber ich glaube wirklich, dass es etwas Mode ist. Das heißt aber nicht, dass Java auch schlecht sein muß.
Delphi war in den 90gern Mode und war gut.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Di Apr 15, 2014 20:34 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 27, 2005 12:44
Beiträge: 393
Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Lord Horazont hat geschrieben:
Außer alles, was mit Echtzeit und/oder Hardwarenähe zu tun hat. Also der ganze spannende Kram ;).


Mit Java direkt sind Echtzeitanwendungen nicht möglich, aber für diesen Zweck wurde die Erweiterung Real-Time Java spezifiziert. Für hardwarenahe Entwicklung gibt es das Java Native Interface. Mit diesem lassen sich sogar Delphi-Bibliotheken einbinden ;)

Viele Grüße
dj3hut1

_________________
Wenn Gauß heute lebte, wäre er ein Hacker.
Peter Sarnak, Professor an der Princeton University


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Di Apr 15, 2014 21:32 
Offline
DGL Member

Registriert: Di Jun 12, 2012 21:26
Beiträge: 112
Programmiersprache: Delphi
mathias hat geschrieben:
Dafür kann ich Lazarus als Nachfolger richtig begeistern. Effizienten Exe-Code, keine Begrenzungen mit 64KB. Nach meiner Meinung ist sowas Zeitgemäss. Auch der Code ist übersichtlich, wie man es von Turbo-Pascal gewöhnt war. Lazarus ist richtig erwachsen worden, Delphi braucht man nicht mehr, ausser wen man im alten Code was nachgucken will.

Lazarus hat leider keine gute Unicode-Unterstützung. Und die exe-Dateien sind mir immer noch zu groß. Ansonsten ist das ne feine Sache.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Di Apr 15, 2014 21:42 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
Lazarus hat leider keine gute Unicode-Unterstützung.

Da bin ich leider auch schon gestolpert, das muss man mit leider mit UTF8toANSII und ählichem arbeiten. Bei Delphi hatte keine Probleme mit Umlauten.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Di Apr 15, 2014 21:50 
Offline
DGL Member

Registriert: Di Jun 12, 2012 21:26
Beiträge: 112
Programmiersprache: Delphi
mathias hat geschrieben:
Da bin ich leider auch schon gestolpert, das muss man mit leider mit UTF8toANSII und ählichem arbeiten.

Und dann ist es leider Glückssache, ob es funktioniert oder nicht. Wenn ich Unicode brauche, nutze ich dann doch lieber Delphi mit den Unicode-Controls. Die sind zwar auch nicht perfekt, lassen sich aber dank Quelltext gut korrigieren. Wenn ich mich richtig erinnere, ist die Unicode-Unterstützung von Lazarus wohl nur unter Windows ein großes Problem.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Di Apr 15, 2014 22:00 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Bei Java hat man halt die unschlagbaren X-Plattform Features. Da kann wohl niemand groß mithalten. Außerdem finde ich es gut wenn eine Sprache klar Strukturiert und die Elemente eindeutig sind.

Achja, ich hatte übrigens den Thread nen bissl aus den Augen verloren. Hier noch ein kleiner Nachtrag zum Thema Polymorphie:
Code:
  1.  
  2.     public bool isIterable<T>(Iterable<T> collection) {
  3.         return true;
  4.     }
  5.    
  6.     public bool isIterable<T>(T notcollection) {
  7.         return false;
  8.     }
  9.  

Unter Sprachen wie Java ist es tatsächlich das was man erwartet. Bei C++, zum Beispiel (mittlerweile habe ich andere Sprachen mehr hassen gelernt :D), ist's ohne Tricks Compiler-Laune.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Di Apr 15, 2014 22:16 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
Und dann ist es leider Glückssache, ob es funktioniert oder nicht. Wenn ich Unicode brauche, n...

Da sieht man es gut, einmal braucht es UTF8 und ein anderes mal nicht.

Ausschnitt aus einem meiner Programmen:
Code:
  1.   if FileExistsUTF8(Pfad + '\Front.jpg') then begin
  2.     Jpeg := TJpegImage.Create;
  3.     try
  4.       jpeg.LoadFromFile(Pfad + '\Front.jpg');
  5.       bmp := TBitmap.Create;
  6.       try  

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Mi Apr 16, 2014 00:07 
Offline
DGL Member

Registriert: Do Dez 29, 2011 19:40
Beiträge: 421
Wohnort: Deutschland, Bayern
Programmiersprache: C++, C, D, C# VB.Net
@yunharla
Zu Generics in Java: http://facsim.org/node/77

Zu deinem Beispiel, soetwas würde man in C++ nicht schreiben. Mit Templatespezialisierung könnte man aber genauso einfach das selbe erreichen, mit dem Vorteil das es statisch ausgewertet werden kann.

Im Prinzip fehlt mir in Java einfach zu viel und die Java Philosophie kann ich auch nicht teilen.
Außerdem hat man dann in der Praxis immer diese JVM am Hals. Performance ist mir auch wichtig.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Mi Apr 16, 2014 09:20 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2621
Wohnort: Berlin
Programmiersprache: Go, C/C++
Flash hat geschrieben:
Ich werf hier nochmal Java mit ner anderen Begründung in den Raum: Wenn du später mal in der Industrie bei großen Firmen arbeiten willst, dann findest du dort mit sehr hoher Wahrscheinlichkeit Java (meistens sogar auf dem Application Server, d.h. Java EE)

Da sollte man sagen, das dies stark bezogen auf die Art der Entwicklung ist.
Audio/Video, Games, Industrie Anlagen und noch ein paar weitere ist dies definitiv nicht der fall.
Für manche Industrie Zweige haben sich einzelne Sprachen klar raus kristallisiert und dominieren aber in vielen ist ein reger misch masch.
Es wäre meiner Meinung auch falsch zu sagen Sprache X ist Zeitgemäß, da für jede Industriezweig eine andere Sprache wesentlich besser geeignet ist.
Ich arbeite in der Unterhaltungsbranche(Spiele, Video, Audio, Filme), welche der größte Industriezweig auf der Welt ist und dort dominiert C++ sehr stark aber trotzdem würde ich nicht sagen das jeder C++ können sollte, weil es am Fluss der Zeit ist.

In der Telekommunikation findet man eher Sprachen wie Erlang und dort wäre C++ nicht zeitgemäß.

mathias hat geschrieben:
TP hat den gleichen effiezenten Code wie C/C++ erzeugt, nur war Pascal weniger Fehleranfällig.
Beispiel: In C kann ich "int i = 3.13" schreiben, bei Pascal kommt ein Fehler.

Kleiner Tipp, schalte mal -Werror(clang, mingw, gcc) oder /WX(vc++) an.
Dann wirst du fest stellen, dass es nicht baut, weil es gegen den C++ Standard ist und du entsprechend eine Warnung bekommen hast aber wohl ignoriert hast.

Alternativ auch mal das warning level hoch ziehen, /W3 oder /W4(Vc++) oder -Werror-pedantic(gcc, clang, mingw).
Dann bekommst 100% eine Fehlermeldung, weil du den Standard auf einmal einhalten musst.

dj3hut1 hat geschrieben:
Mit Java direkt sind Echtzeitanwendungen nicht möglich, aber für diesen Zweck wurde die Erweiterung Real-Time Java spezifiziert. Für hardwarenahe Entwicklung gibt es das Java Native Interface. Mit diesem lassen sich sogar Delphi-Bibliotheken einbinden ;)

Man kann viele Sprachen irgendwelche Funktionalitäten aufzwingen, für die es nicht konzipiert ist aber das merkt man in der praktischen nutzung sehr schnell und versagt in der Praxis gegen Sprachen, die dafür von Grund auf dafür designed sind.
Es gibt soviele Sprachen, weil man immer wieder dinge findet, die eine existierende nicht kann und entwickelt eine neue, wenn es nicht mehr ins Konzept passt.
In der Theorie kann man aber so ziemlich alles in einer Sprache rein quetschen, wenn man nur stark genug mit der Brechstange ran geht.
QT hat z.B. ein eigenen Pre-Compiler(generiert moc files) für RTTI und interne managment code, klingt Theoretisch toll aber in der Praxis ist das einfach nur ätzend.
Noch dazu sollte man zwischen Echtzeitanwendungen unterscheiden. Es gibt da große Unterschiede, von Games und wirkliche Echtzeit Applikationen wie in der Raumfahrt. Dafür braucht man aber ein anderes Betriebssystem, wie z.B. QNX.

subotai hat geschrieben:
Lazarus hat leider keine gute Unicode-Unterstützung. Und die exe-Dateien sind mir immer noch zu groß. Ansonsten ist das ne feine Sache.

Das gleiche Problem hatte man in C++ bis zum 11 Standard auch, erst dort wurde UTF-8 als standard eingeführt und konvertierung zu UTF-16 und UTF-32 mit aufgenommen. Davor gab es eher partiell UTF-8 support aber wenigstens war Lokalisierung schon vollständig drin.
Man hatte damit keine Probleme, weil so ziemlich jeder Compiler und OS API mit ANSI, ASCII und UTF-8 klar kommt.

yunharla hat geschrieben:
Bei Java hat man halt die unschlagbaren X-Plattform Features. Da kann wohl niemand groß mithalten. Außerdem finde ich es gut wenn eine Sprache klar Strukturiert und die Elemente eindeutig sind.

Achja, ich hatte übrigens den Thread nen bissl aus den Augen verloren. Hier noch ein kleiner Nachtrag zum Thema Polymorphie:
Code:
  1.  
  2.     public bool isIterable<T>(Iterable<T> collection) {
  3.         return true;
  4.     }
  5.    
  6.     public bool isIterable<T>(T notcollection) {
  7.         return false;
  8.     }
  9.  

Unter Sprachen wie Java ist es tatsächlich das was man erwartet. Bei C++, zum Beispiel (mittlerweile habe ich andere Sprachen mehr hassen gelernt :D), ist's ohne Tricks Compiler-Laune.

Dann solltest du nochmal deine Grundkentnisse auffrischen, denn das ist im Standard und den gängigen Compilern(Clang, VC++, GCC) sehr wohl eindeutig.
Der Standard sagt, dass der compiler 1 indirekten Versuch bekommt, ein Objekt in den am passensten funktionsparameter Typ zu konvertieren. Wenn ich also den passenden Typen bereits verwende, dann nutzt der compiler diesen, ist es nicht der korrekte, also z.B. float und der Typ ist int, dann sucht der Compiler ein cast operator, der float zu int machen kann.
Der Standard hat solch einen nicht und gibt ein Fehler. Viele Compiler werfen aber vorher eine Warnung, dass ein typecast nicht möglich ist, weil in der Kombination ein Datenverlust entstehen würde. Stellt man den Compiler auch lachs genug ein, dann kennt er doch ein cast operator der halt vom Compiler Entwickler mit kommt.
Ein weiteres Problem ist foglendes, eine Uri klasse hat ein Constructor für Typ String und man übergibt ein c string.
Abhängig davon, ob die String Klasse nun ein Konstruktor für c string hat oder nicht, kann der Compiler nun indirekt über den einen Versuch es doch bewerkstelligen.
Will man dies nicht, dann benutzt man den modifier explicit und schon erlaubt der Compiler nur noch den spezifizierten Typ und keine indirekte konvertierung.

Ja das ganze ist sehr komplex aber deswegen müssen Programmierer auch oft studieren und/oder viel Berufserfahrung haben, damit sie in größeren Firmen unter kommen können. Weil solch tiefgehendes Sprachwissen nun mal über Zeit kommt und diese Eigenschaft teilen sich alle Programmiersprachen.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Mi Apr 16, 2014 18:33 
Offline
DGL Member

Registriert: Do Dez 29, 2011 19:40
Beiträge: 421
Wohnort: Deutschland, Bayern
Programmiersprache: C++, C, D, C# VB.Net
Zitat:
weil so ziemlich jeder Compiler und OS API mit ANSI, ASCII und UTF-8 klar kommt.

Ähm, also ich kenne da ein ziemlich verbreitetes Betriebssystem und einem dazugehörenden Compiler, bei dem das nicht der Fall ist.

Und die Unicode-Unterstützung von C++11 ist auch sehr rudimentär, insbesondere fehlt der Support in dem oben angesprochenen Compiler wie viele andere C++11/14 Features auch in der aktuellen CPT noch völlig. Wann er kommen wird, steht noch in den Sternen.

In C++11 muss man das im Prinzip alles selber machen bzw. eine externe Lib nehmen, sonst hat man spätestens wenn es um einige Eigenheiten von Unicode oder Crossplatform geht, nur noch Ärger am Hals.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Welche Sprache ist Zeitgemäss
BeitragVerfasst: Mi Apr 16, 2014 19:14 
Offline
DGL Member
Benutzeravatar

Registriert: So Sep 26, 2010 12:54
Beiträge: 238
Wohnort: wieder in Berlin
Programmiersprache: Englisch
Englisch ist eine zeitgemäße Sprache, wie ich finde.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 83 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4, 5, 6  Nächste
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.082s | 16 Queries | GZIP : On ]