 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 04.12.2008, 16:16 Titel: Programmiersprachen |
|
|
Welche Stellenwerte haben bei euch andere Programmiersprachen?
(FB, Perl, Ruby, Python, Java, VB, .NET etc verglichen mit "Klassikern" wie C/C++ oder ASM)
Meiner Meinung nach sind alle Sprachen mit denen man kein OS programmieren kann eh nur "Spielzeug"..
Wobei "Spielzeug" nicht unbedingt abwertend gemeint sein soll. Nur haben diese Sprachen einfach nicht dasselbe Potential Hardware-Nah zu programmieren wie die Klassiker.
Freebasic gehört für mich daher eigentlich auch zu den "Spielzeugen" aber es stellt für mich eine genial einfache Möglichkeit dar, schnell und flexibel Ideen und Vorstellungen umzusetzen.
Würde gerne eure Meinung hören wie ihr es so mit anderen Sprachen haltet. |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 04.12.2008, 18:01 Titel: Re: Programmiersprachen |
|
|
OneCypher hat Folgendes geschrieben: | Welche Stellenwerte haben bei euch andere Programmiersprachen?
(FB, Perl, Ruby, Python, Java, VB, .NET etc verglichen mit "Klassikern" wie C/C++ oder ASM) |
Will demnächst C++ und oder Python lernen... meine bisherigen versuche python zu lernen scheiterten an zu aktuellen FB-projekten, so das ich keine zeit bzw keinen nerv auf python hatte.
OneCypher hat Folgendes geschrieben: |
Meiner Meinung nach sind alle Sprachen mit denen man kein OS programmieren kann eh nur "Spielzeug"..[...] Freebasic gehört für mich daher eigentlich auch zu den "Spielzeugen" [...]
|
http://www.freebasic-portal.de/index.php?s=projekt&id=26
TPM machts möglich
und ich glaub DOS (oder teile davon) ist/sind auch in QBasic geschrieben, und FB kann jetzt schon (version 0.20b) mehr als QB
Wenn man davon ausgeht das FB irgentwann mal den status 1.0 erreicht, kann man damit rechnen das es auf 1.0 durchaus so mächtig ist wie C oder C++, vll bleibts auch auf dem momentanen Status hängen (von der mächtigkeit) was mich nicht davon abhalten wird in 5 jahren noch in FB zu programmieren (wenn ich dann überhaupt noch will )
Achja, Python, Perl und Ruby sind keine schlechteren sprachen als C, C++ oder ASM, im gegenteil, Python wird gerne als Paradebeispiel einer Programmiersprache angepriesen.
Und mal ehrlich... einen sauberen ASM-Code der für anfänger/ fortgeschrittene anderer sprachen verständlich ist (ohne komments) ist mir noch nicht untergekommen. Python oder einfachen C-code verstehe ich dagegen recht gut, wenn mir einer unterkommt. _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 04.12.2008, 18:25 Titel: Re: Programmiersprachen |
|
|
OneCypher hat Folgendes geschrieben: | Meiner Meinung nach sind alle Sprachen mit denen man kein OS programmieren kann eh nur "Spielzeug". |
Dann sind für mich alle Sprachen nur Spielzeug - ich werde sicher nie ein OS programmieren können (wollen), egal wie gut die Sprache ist.
FB: sehr schön; ich liebe BASIC insbesondere wegen der sehr einfachen Möglichkeit, Grafik auszugeben, und nachdem QBASIC für mich bereits am Ende letzen Jahrtausends einen Rückschritt darstellte (sorry) hat es mich vor zwei Jahren sehr gefreut zu sehen, dass BASIC noch nicht tot ist. Trotzdem bin ich der Ansicht, dass Interpretersprachen für Anfänger gewisse Vorteile besitzen.
FreeBASIC wird jedenfalls bis auf weiteres mein Hauptentwicklungsprogramm bleiben, eben wegen der sehr leichten Umsetzbarkeit einfacher Grafikanwendungen.
Perl: gefällt mir hervorragend; leider kann ich es nicht. zum Glück scheint Ruby da ausreichend Ausgleich zu schaffen (insb. auch was das Golfen angeht )
Ruby: Aktuell vielleicht meine Lieblingssprache (wenn auch nicht die hauptsächlich eingesetzte). Einfache und konsequente Objektorientierung, Übernahme vieler Vorteile anderer Programmiersprachen - ich finde, das ist eine Sprache, in der man sich sehr schnell heimisch kann. Außerdem mag ich es, wenn Sprachen den Entwickler so machen lassen, wie er will. Das ist eigentlich die Philosophie von Perl, die aber ein Stückchen weit nach Ruby importiert wurde.
Python (wenn auch nicht genannt): ist ganz nett, habe mich damit aber nie so recht anfreunden können. Sind wohl eher so Kleinigkeiten wie der seltsame Befehlsname elif und so weiter ... Das Positive daran ist die einfache Umsetzung der Objektorientierung, aber dafür gibt es ja jetzt Ruby.
VB und .NET: nie getestet. Was will ich mit einer Programmiersprache (bzw. -plattform), die ich von vorn herein nur auf einem einzigen Betriebssystem verwenden kann?
Äh, ja, Pascal: Verwendet man das noch irgendwo? Ich meine außerhalb von Unis?
Und dann gibt es ja auch den Bereich der funktionalen Programmiersprachen (Scheme, Erlang, Haskell ...), die alles andere als eine Spielerei sind, aber ganz andere Einsatzgebiete haben als die Programmierung von Betriebssystemen ... leider verstehe ich die funktionale Programmierung nicht. Ich kann (oder konnte, als ich mich noch damit beschäftigt habe) solche Programme nachvollziehen, aber selbständig effektive Lösungsansätze zu entwickeln habe ich nie auf die Reihe gebracht. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 04.12.2008, 19:01 Titel: |
|
|
PHP: meine Hauptprogrammiersprache zur Zeit, ist großartig um schnell Webanwendungen zu programmieren, unglaublich einfach und bietet für jedes denkbare Problem eine fertige Funktion. Hat allerdings auch nervige Schwächen..
Java: finde ich ganz Schrecklich, hatte ich zwei Jahre lang in der Schule. Ist einfach seltsam umständlich, bei größeren Sachen lahm.
FB/QB: machte ich (fast) nichts mehr damit
Ruby (on Rails): sehr interessante Sache, will ich mir demmnächst anschauen
Ansonstne hab ich noch Erfahrung mit Assembler und C _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 04.12.2008, 19:09 Titel: |
|
|
Oh ja, PHP habe ich vergessen. Aber da kann ich mich Devilkevin in allen Punkten anschließen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 04.12.2008, 19:30 Titel: |
|
|
PHP hab ich auch vergessen. In meinen augen zwar keine vollwertige Sprache (da serverbasiert und interpretiert) aber hat durchaus vorteile. Ich hab ja mal nen LOGD (um)geschrieben, und musste mich deshalb auch mit PHP auseinandersetzen.
Resüme: Leicht zu erlernen, schnell vergessen (wie bei HTML... kann mir davon nix merken), Schnell, Relativ präzise, aber wie gesagt keine vollwertige Sprache.
Und zu VB (.net) hab ich ne klare meinung:
Bockmist. Klar gibt es durchaus sinnvolle anwendungen die in VB geschrieben sind, aber die meisten betreiben damit baukasten bzw Lego-programmierung und sowas ist fast schon Blasphemie. Noch dazu kommt das der Mist Propritär ist und somit für nen Linux-user keinerlei möglichkeiten bietet.
Ach, lustig sind auch die leute die meinen HTML wäre ne programmiersprache, das sind die einzigen die schlimmersind als Baukasten-/Lego-Programmier
Und die absolut grauenvollste sprache: LISP... ich meine, mit klammern kann mans echt übertreiben, noch dazu sind anordnugen wie (<operator> <vari> <vari2>) nicht grade verständlich, wenn man vorher sprachen mit schema <vari> <operator> <vari2> benutzt hat.
mfg
The_Muh _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 04.12.2008, 19:36 Titel: Re: Programmiersprachen |
|
|
OneCypher hat Folgendes geschrieben: | Meiner Meinung nach sind alle Sprachen mit denen man kein OS programmieren kann eh nur "Spielzeug".. |
man kann mit jeder sprache ein os programmieren. nur kann man nicht mit jedem compiler (wenn die sprache denn überhaupt compiliert wird) so low-level gehen...
ich meinerseits habe mich heute vor allem auf php spezialisiert, im anwendungsbereich FB (konsolen-apps), VB6 (fenster-apps) und seit neuestem auch C++ (OpenMPT). _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4702 Wohnort: ~/
|
Verfasst am: 04.12.2008, 19:43 Titel: |
|
|
Zitat: | noch dazu sind anordnugen wie (<operator> <vari> <vari2>) nicht grade verständlich, wenn man vorher sprachen mit schema <vari> <operator> <vari2> benutzt hat. |
Bei Funktionen machst du das doch auch so (ähnlich):
ergebnis = funktion(parameter1, parameter2 ...)
LISP macht das halt konsequenter, eben auch für Parameter.
Und Klammern sind cool.
(Nein, im Ernst, ich überlege einen Lisp-ähnlichen Interpreter zu schreiben - natürlich nicht annähernd mit der originalen Funktionalität - weil sich hier die Syntax wunderbar einfach auswerten lässt.) _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 04.12.2008, 21:14 Titel: |
|
|
Als Berufs-IT-Spezialist soviel zu diesem Thema: In der Industrie und Wirtschaft haben sich traditionell C und C++ im professionellen Bereich stark durchgesetzt. Warum? Rechenleistung war seinerzeit vor 20 Jahren vergleichsweise bescheiden, da kam C und später C++ gerade richtig, weil der Compiler sehr maschinennahen Code generieren kann. Aus diesem Grund wird C (und ein Stück weit auch der Nachfolger C++) als verbesserten Assembler betrachtet.
Genau diese Eigenschaften des optimierenden Codes rächen sich mittlerweilen im Zeitalter der Internet-Vernetzung und damit der verstärkten Verbreitung von Malware: Weil C und C++ vollständig auf jegliche Bereichsüberprüfung verzichten, entstehen keine schönen Laufzeitfehler wie "Index ausserhalb des zulässigen Bereichs" wie in QB, sondern der Prozess überschreibt brutal "benachbarte" Daten oder im Extremfall sogar den eigenen Maschinencode. Was im harmloseren Fall zur Schutzverletzung bzw. Problembericht in Windows bzw. "Segmentation Fault (coredump)" unter UNIX/Linux führt, führt im Fall von "Fütterung" mit gezielt falsch gebauten Daten aus E-Mail-Anhängen, Web-Downloads usw. zu "kontrollierten Abstürzen" - sprich Ausführung von beliebigen Schadcode, z.B. Fernkontrolle für ein Botnetz übernehmen.
Aus diesem Grund sollten C und C++ aus meiner Sicht für Neuprojekte nach Möglichkeit eher nicht mehr eingesetzt werden. Mittlerweilen entstehen auch viele professionelle Software in Java, da im Zeitalter der mit 3,4 GHz getakteten Quadcore-CPUs mit 2 GB Arbeitsspeicher das Argument des stark optimierenden Codes nicht mehr so starke Bedeutung besitzt, d.h. es lohnt sich eigentlich nicht mehr, auf Bereichschecks zu verzichten.
Pascal und seine Nachfolger Modula-2 und Oberon, aber auch ADA, haben im Hochschulbereich ihren Platz als Lehrsprache für systematisches Vorgehen bezogen. In einigen Bereichen wird es aber auch in professionellen Industrieprojekten eingesetzt. Gerade im Zusammenhang mit der durch das Internet wichtig gewordenen IT-Security dürften diese Sprachen zukünftig eher wieder stärker an Bedeutung gewinnen.
Sonst generell verkommen ganz moderne Programmiersprachen immer mehr zu Syntax-"Dialekte", d.h. die fundamentalen Prinzipien mit Klassen, Objekten, Prozeduren und Funktionen (Methoden), Properties, Variablen, Kontrollstrukturen und Schleifen usw. bleiben immer die selben, lediglich das Erscheinungsbild lehnt sich für den Programmierer an seine früher gewohnte Programmiersprache an, d.h. wer seine Anweisungen mit Semikolon lieber abschliesst statt mit CR/LF und notfall "_" als Statement-über-mehrere-Zeilen-Verteilen, kann dies auch weiterhin so tun, wie er es gewohnt ist.
Genau dies ist ja auch das Konzept von .NET von Microsoft: All diese "Dialekt"-Sprachen, egal ob C#, VB.NET usw. werden erst in eine CPU-neutrale Metasprache übersetzt und anschliessend von einer Virtual Machine bzw. JIT (Just In Time)-Compiler plattformspezifisch ausgeführt.
In grösseren Projekten können die "Dialekt"-Sprachen auch gemischt verwendet werden, d.h. wenn Programmierer A seine Klasse in VB.NET geschrieben hat, kann sie der C#-Spezialist auch problemlos "include"-n und verlinken. So etwas geht bereits in HTML:
Code: | <SCRIPT type="text/vbscript"><!--
Function Foobar(a)
DoSomething a
End Function
' --></SCRIPT>
<SCRIPT type="text/javascript"><!--
Foobar(123);
// --></SCRIPT> |
d.h. man kann bereits hier mischen! => Von dem her dürfte die Präferenz für C#oder VB.NET oder sonst etwas eher zur Geschmacksfrage des Programmiers bzw. Projektverantwortlichen tendieren, da die überall fast identischen Grundprinzipien in erster Linie zählen.
Wie sagte ein Dozent bei mir an der Uni seinerzeit so schön: "Eine neue Programmiersprache lernen ist lediglich eine neue Syntax lernen. Die Grundprinzipien vom Software Engineering gelten jedoch weiterhin und unverändert." Mit Frameworks wie .NET und Schnittstellen wie CORBA hat sich dieser Grundsatz eher noch deutlich verstärkt. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 04.12.2008, 22:14 Titel: |
|
|
Für mich ist FB gerade absolut das beste weil es einfach extrem leicht zu lernen ist.
Java werde ich im Laufe meines Studiums wohl noch freiwillig lernen, aber was ich bis jetzt schon so gesehen habe, ist es nur ein Abklatsch von C.
C/C++ ist die zur Zeit wichtigste Sprache im wirtschaftlichen Bereich, allerdings ist es meiner Meinung nach total überbewertet. Mein Bruder programmiert in der Arbeit in C und er braucht zum Erstellen von Programmen doppelt so lange wie ich in FB und die Programme sind dann auch noch um einiges größer als meine (bei gleicher Aufgabenbearbeitung).
Perl, Python und ASM hab ich mir mal zum Lernen für die nächsten Semesterferien aufgegeben.
Wer aber mal eine richtig schöne Sprache sehen will, der sollte sich "Brainfucker" reinziehen  |
|
Nach oben |
|
 |
Manuel

Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
Verfasst am: 04.12.2008, 22:37 Titel: Re: Programmiersprachen |
|
|
OneCypher hat Folgendes geschrieben: | Welche Stellenwerte haben bei euch andere Programmiersprachen?
(FB, Perl, Ruby, Python, Java, VB, .NET etc verglichen mit "Klassikern" wie C/C++ oder ASM) | dreael hat da im Prinzip schon alles dazu gesagt: C(++) ist eine sehr maschinennahe Sprache, dem man allerdings den Ursprung deutlich anmerkt, eben wegen fehlender Speicherbereichsprüfung (habe u.a. ein Buch durchgearbeitet, bei dem der Autor der Meinung war, Pointer sind die "bösen" Nachfolger der GOTOs... Ich muss ihm beipflichten ) und der Tatsache, dass die Syntax - verglichen mit moderneren Programmiersprachen - dem Benutzer nicht wirklich entgegenkommt. Dafür ist es ein prächtiges Mittelding zu "höheren" Programmiersprachen und Assembler: Code, der u.U. auch in großem Umfang noch lesbar bleibt, aber trotzdem sehr schnell ausgeführt wird.
Ich persönlich finde C++ und vorallem C dennoch zu LowLevel, weil man wirklich für jede Kleinigkeit Vorkehrungen treffen muss.
by the way: In meiner Berufsschule müssen wir uns jetzt mit VBS beschäftigen. Hat jemand ernsthaft in dieser Skriptsprache programmiert? Endlich weiß ich, woher Basic allgemein einen so schlechten Ruf hat, das ist grauenhaft (hat ein Schüler passend beschrieben: "Es ist so, als würde man unter Linux Shellskripte bauen, mit Programmen, die weder einen Schalter für eine Hilfefunktion noch eine Manpage haben". Kommentar des Lehrers: "Warum, glaubst du, ist diese Sprache nicht sehr verbreitet?" ). Beispiel: Man füttert eine Methode (in VBS kann man bestehende Objekte ansprechen aber keine eigenen bauen. Krank, oder?) mit diversen Daten, es gibt aber einen ganz bestimmten Befehl, der die gefütterten Daten z.B. in ein Active Directory wegspeichert. Hat man bei der Parameterübergabe irgendeinen Fehler gemacht, kommt eine Fehlermeldung erst beim Aufruf des ganz bestimmten Befehls. Ist natürlich superpraktisch, wenn man 10 Einträge gleichzeitig speichern will
dotNET haben wir in der Berufsschule durchgenommen, ich habe allerdings nicht das gerinste Interesse, die Entwicklung weiterzuverfolgen. Ich möchte portablen Code schreiben, der auf allen Betriebssystemen laufen soll. Höchstens C# wäre eine einigermaßen interessante Lösung auch für Linuxuser, aber Mono (der Nachbau des dotNET-Frameworks unter Linux) ist halt auch ein wenig verpönt...
Zu Perl, Ruby und Java kann ich nichts sagen, weil ich in diesen Sprachen noch nie programmiert habe. Bisher weiß ich nur, das Perl-Skripte gern als krude Sprache bezeichnet wird (wenn ich mir einige Perl-Sources ansehe, weiß ich auch warum ).
Mit Python beschäftige ich mich momentan am Meisten. Es gibt klasse IDEs dafür, der Funktionsumfang ist ziemlich groß und die Syntax ansich empfinde ich auch als sehr angenehm. Für die 2.x-Version gibt es haufenweise Tutorials, ich persönlich habe mir mit Python die Objektorientierte Programmierung selbst (mit Tutorials) beigebracht... Dank dutzender Toolkitanbindungen (Qt, GTK+, Pygame (letzteres kann die SDL-Library nutzen) kann man portable Spiele-/Anwendungsprogramme schreiben, ohne den Code ändern zu müssen...
---
Zu Q(uick)Basic: Für mich (zumindest produktiv) definitiv gestorben. Fürs "schnelle Hacken zwischendurch" benutze ich eine Linuxshell (dank XLiveCD auch unter Windows) und auch sonst fällt mir nix ein, was ich damit noch auf modernen Betriebssystemen tun könnte, weil es da einfach zu viele Nachteile mitbringt...
Zu FreeBasic: Ich bin wohl mit den falschen Erwartungen herangegangen und dachte, ich könnte die Syntax fast 1:1 aus Q(uick)Basic übernehmen, was aber ein Fehlschlag war. Das Projekt ist interessant, werde es auch weiter verfolgen, dennoch werde ich mich in FB wohl frühestens dann einarbeiten, wenn es die Versionsnummer 0.9 erreicht hat... _________________ DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu |
|
Nach oben |
|
 |
The_Muh aka Mark Aroni

Anmeldungsdatum: 11.09.2006 Beiträge: 718
|
Verfasst am: 04.12.2008, 22:38 Titel: |
|
|
Ich finds eigentlich Schade das Programmiersprachen immer mehr verfallen. Ich programmiere zwar selbst noch nicht lange, und nicht sonderlich gut (auch wenn einige das anders sehen), aber ich hatte immer respekt vor Programmiersprachen, und würde es niemals wagen einen Basic-"Abklatsch" zu basteln. C und C++ sind für mich heilige reliquien, und nichts was ich durch einen Dialekt verstümmeln würde.
Noch dazu die ganzen Plattformabhängigen Sprachen (siehe den mist den Winzigweich da macht, aber das wurde schon oft genug erwähnt). Programmiersprachen sollten :
- Einzigartig (In Aufbau, Funktion, Syntax oder Umfang)
- Konzepthaltig (Nich querbeet einfach mal i-welche funktionen einbauen)
- Einfach (jeder kanns lernen)
- Plattform-unabhängig
sein.
Die hälte aller existierenden Sprachen erfüllen diese kriterien nicht.
Es müsste mehr projekte gegen bie TCL, denn TCL erfüllt sämtliche Kriterien
eventuell lerne ich auch mal TCL (bin grad auf tcl gekommen, weil ich mein aMSN angemacht hab, das komplett in tcl geschrieben ist)
/edit : ich respektiere FB trotz der oben genannten dinge, da es kein abklatsch, sondern eine erhaltung der BASIC-sprachfamilie ist. ich denke ohne FB wäre BASIC in 3-4 jahren komplett ausgestorben. _________________ // nicht mehr aktiv // |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 04.12.2008, 22:46 Titel: |
|
|
FB verwende ich eigtl. nur noch, um mal kurz ein Konzept zu überprüfen. Ansonsten hauptsächlich nur noch Delphi (@nemored: Ja, Pascal wird z.B. hier noch verwendet ) und seit einer kleinen Weile auch C#, was bei mir Delphi langsam den Rang abläuft (u.a. generische Programmierung schon lange möglich, im Vergleich zu Delphi, das dieses Feature erst neuerdings spendiert bekommen hat). Ich kann mir dort meine GUI einfach zusammenbasteln und bekomm davon im Sourcecode so gut wie nix mit. Aus purer Neugier hab ich mir auch mal D angeschaut (das für sich den Platz als C/C++-Nachfolger einfordert), erscheint mir ein wenig wie ein natives C#, bis auf Events. Fürs Hobby vllt. geeignet, professionell würd ich mich darauf wahrscheinlich nicht verlassen wollen. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 04.12.2008, 23:10 Titel: |
|
|
Zitat: | C und C++ sind für mich heilige reliquien |
komm mal runter, junge.  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 04.12.2008, 23:29 Titel: |
|
|
Von der Schule aus lernen wir noch Programmierung der .NET Familie von Microsoft: Vb.NET, Cpp.NET und verstärkt C#.NET
Privat programmiere ich im Webbereich in PHP,
QuickBasic war meine erste Programmiersprache (wenn man Batch-Skripts weglässt), aber inzwischen verwende ich sie immer weniger und weniger. Mit der Zeit habe ich mir dann etwas Assembler gelernt, und in QB nur noch die Funktionsaufrufe von eigentlichen ASM-Funktionen verwendet. Da ich mit der Zeit darauf kam, dass DOS-Programmierung mit der Zeit immer weniger wird - besonders jetzt mit Vista - habe ich schon lange vor auf Windows-Programmierung umzusteigen. Ich habe mir vorgenommen Win32-Assembler zu lernen, bin aber wegen mangelnden Tutorials und besonders mangelnder Zeit nicht weit gekommen.
Da ich auch etwas im Bereich der µ-Controller-Programmierung unterwegs bin beschäftige ich mich nun mit AVR-Assembler und C für Prozessoren der ATmega-Familie (Atmel).
Mit Delphi habe ich mich auch kurz einmal beschäftigt, sieht ganz gut aus. Ich bin aber leider noch nicht dazu gekommen, ein mittelgroßes Projekt damit anzufangen.
Von Python, Lisp, Ruby, Perl habe ich leider keine Erfahrungen gemacht, von Java nur geringe. Ich finde immer noch, dass Java Anwendungen einfach noch zu langsam sind für die meisten Anwendungsbereiche von Software.
In FreeBasic habe ich bis jetzt noch fast nichts programmiert. Der Umstieg von QB auf FB habe ich mir einfacher vorgestellt, aber FB wird ja immer ähnlicher zu C bzw. Cpp _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
helium

Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 05.12.2008, 13:41 Titel: Re: Programmiersprachen |
|
|
OneCypher hat Folgendes geschrieben: | Welche Stellenwerte haben bei euch andere Programmiersprachen?
(FB, Perl, Ruby, Python, Java, VB, .NET etc verglichen mit "Klassikern" wie C/C++ oder ASM)
Meiner Meinung nach sind alle Sprachen mit denen man kein OS programmieren kann eh nur "Spielzeug".. |
Du wirst mit keiner der genannten Sprachen komplett ohne Assembler auskommen, wenn du ein OS schreiben willst. Es sei denn es handelt sich um sehr spezielle Plattformen (gibt ja auch Prozessoren, die direkt Java-Bytecode ausführen und entsprechend Betriebssysteme in Java). Wenn man von solchen Plattformen absieht sind nach deiner Definition alle Sprachen (außer Assembler) Spielzeug. Mit minimaler Assembler-Hilfe sieht das natürlich wieder ganz ander aus. Singularity wurde zum größsten Teil in einem C#-Dialekt geschrieben, ... .
Perl finde ich gruselig. Könnte man fast in die Gruppe der esoterischen Sprachen packen. Damit meine ich Perl 5. Perl 6 hat wiederum etliche Interessante aspekte.
Ruby ist cool. Hat aber IMO seine Problemchen was Lambdas und Closures angeht (Blöcke und Procs und so weiter, ist doch Murks). Und es verwendet tatsächlich einen AST-Interpreter und ist damit verdammt lahm. Soll aber glaube ich einen Bytecode-Interpreter bekommen, weiß da aber nix genaues.
Python ist nett, ich würde aber Ruby vorziehen. Viele regen sich angesichts der Manycore-Thematik über den GIL auf, was ich nicht so wirklich nachvollziehen kann. Manycore ist doch hauptsächlich für mich interessant, wenn ich wirklich Geschwindigkeit brauche. Aber dann ist Python vielleicht nicht ganz die richtige Wahl.
Java ist eifnach nur ... langatmig. Man schreibt unglaublich viel Code um fast nichts zu erreichen. Ein Großteil der Standardbibliothek ist total overengenierd und macht das Leben dadurch nur unnötig kompliziert. Die Plattform an sich ist aber cool. Moderne JVMs haben mit die besten JITs und GCs. Echt erstaunlich, was da schon alles geht. Deswegen ist die JVM inzwischen ja auch Ziel diverser Sprachen. Bytecode statt Assembler als Backend. Ist IMO auch sehr sinnvoll, da man sich wenn man eine neue Sprache entwickelt um die Sprache kümmern will und nicht Monate mit optimierern, GCs und sonstigen Kram rumschlagen will, der nichts mit dem zu tun hat, was man eigentlich will. (Wenn man eine Sprahe entwickelt, die wirklich Lowlevel sein soll, dann kann man natürlich nicht die JVM verwenden, aber für den Mark gibt es ja die LLVM.)
Für mich auch ein sehr großes Mank: Es igbt keine Closures.
VB = Grütze. VB.Net = C# mit anderer Syntax.
.Net ist keine Sprache es sei denn es ist CIL gemeint???. Ansonsten eine super Platform, hat der JVM in manchen Punkten was vorraus, wie tail calls, benutzerdefinierte Valuetypes, ..., hinkt aber hinterher, was den JIT-Compiler angeht angeht. Inzwischen dank Mono auch nicht mehr ganz so begrenzt, was Einsatzmöglichkeiten angeht.
C# mag deutlich lieber als Java. Die Sprache entwickelt sich einfach deutlich schneller vorwärtz, ich kann Code seit 3.0 schon fast in meinem Bevorzugten doch recht funktional angehauchten Stil schreiben. Es ist auch die Sprache, die ich zur Zeit überwiegend professionell einsetze.
C ... ich persönlich hasse es und bin froh, dass ich nicht im Embedded-Bereich arbeite (und wer es wo anders einsetzt ist bescheurt).
C++ mag ich persönlcih deutlich mehr als C. Man kann deutlich weiter abstrahieren, ohne das die Abstaktionen viel kosten und in einigen Fällen sogar deutlich effizienter sind (qsort vs std::sort). Hat man tatsächlich Performance-krittische Dinge, macht C++ auch heute noch manchmal Sinn, zumindest für die entsprechenden Teile des Projekts (z.B. entwickle ich privat Audioeffekte). C++ leidet unter dem selben Problem, wie Java: Langatmig, meist sogar noch extremer, als bei Java.
PHP ... ich bemitleide jeden, der damit zu tun haben muss.
Dann gibt's natürlich noch etliches, was du nicht aufgeführt hast, zugegebenermaßen aber auch nciht die selbe Marktrelevanz wie z.B. Java hat.
O'Caml wird dank des Batteries Included Prjoekts zunehmends interessant.
Microsoft bringt vermutlich 2010 F# auf den Mark, ein O'Caml-Dialekt, wobei das Objektmodell durch das Standard-.Net-Modell ersetzt und das Modulsystem deutlich kastriert wurde.
Scala bekommt immer weiter zuwachs, wenn auch langsam. Als Fan statischer Typsysteme eine meiner Lieblingssprachen.
D ist sicherlich eine Alternative zu C++. Es mangelt aber noch an Toolsupport.
Clojure ... vielen werden anfangs von der Lisp-"Syntax" abgeschreckt. Sollte man aber IMO nicht. Einige interessante Ansätze was Concurrency und somit Manycore angeht.
Erlang boomt ein klein wenig wegen Manycore. Ich denke aber es wird in seiner Nische bleiben.
Groovy, quasi dynamisches Java mit ein paar Vorzügen, dinde es aber dennoch Mist.
...
Es gibt natürlich noch diverse andere halbwegs interessante Sprachen, wie Boo und Cobra (pythonartige Syntax aber statisch Typisiert für die CLR), Fan (Sprache mit dem Ziel auf JVM, CLR und in zukunft auch JavaScript als Backend zu laufen) und so weiter. Muss man einfach abwarten ob daraus was wird oder ob sie direkt wieder untergehen. _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
Nach oben |
|
 |
DL1YOV
Anmeldungsdatum: 28.02.2007 Beiträge: 7
|
Verfasst am: 05.12.2008, 19:47 Titel: |
|
|
Man muß ganz klar unterscheiden zwischen Sprachen die lediglich interpretiert werden bzw. in einer VM ausgeführt werden (QBasic, Perl, Python, Ruby, Java, C# und wie sie alle heißen). Die haben zwar den Vorteil, daß sie relativ plattformübergreifend sind (aber auch das nur eingeschränkt: Sobald man irgendwelche speziellen Sachen wie z.B. die Windows API oder irgendwelche speziellen Bibliotheken die es nur auf Linux oder Mac OS X gibt) einsetzt, ist es damit nämlich auch schon wieder vorbei. Dem gegenüber stehen Sprachen, die nativen Maschinencode erzeugen. Unter Linux ist da die Auswahl nicht allzu groß, im wesentlichen gibt es da nur GCC, Freebasic und Freepascal/Lazarus (letzteres sollte man sich auch durchaus mal anschauen) sowie einige wenige kommerzielle Produkte wie z.B. Pure Basic. Compilierte Sprachen haben einige nicht zu unterschätzende Vorteile:
- sie sind in Sachen Ausführungsgeschwindigkeit nicht zu schlagen
- Man kann die damit erzeugten Programme weitergeben und installieren, ohne daß der Endanwender erst noch einen Interpreter installieren muß.
- hardwarenahe Featueres wie z.B. Zeiger (gibt es mittlerweile selbst bei Freebasic). Für hardwarenahe Programmierung sollte man daher auch lieber Compilersprachen nehmen.
Freepascal und Freebasic werden nach meiner Meinung derzeit noch gewaltig unterschätzt, aber das kann sich in Zukunft ja noch ändern. Auch Freebasic hat in der letzten Zeit erhebliche Fortschritte gemacht und ist bereits alles andere als nur ein "Kinderspielzeug". Spielzeug sind für mich eher Sprachen wie Python, Ruby oder PHP.
Gruß,
Oliver |
|
Nach oben |
|
 |
frebas
Anmeldungsdatum: 20.06.2008 Beiträge: 245
|
Verfasst am: 05.12.2008, 21:18 Titel: |
|
|
Also mich wundert dass es hier so viele gibt die die so viel Programmiersprachen können und trotzdem hier im Freebasic Forum aktiv sind. Ich kann eigentlich nur Freebasic und das reicht mir eigendlich, weil ich damit alles realisieren kann was ich mir wünsche und es nicht schwer zu beherrschen ist. Außerdem ist hier ne gute Community die einem immer weiterhilft und es ist Free.
Alles mit Programmieren hat bei mir mit dem DOS Befehl help angefangen, ich wusste nicht was ich mit dem DOS-PC machen kann und da hab ich da einfach help eingegeben und hab die aufgelisteten Befehle einfach mal durchprobiert. Bei Basic dachte ich erst das wäre nur ein Texteditor, aber ich wollte es genauer wissen und hab dann im Internet geguckt. Obwohl ich fast nix auf die Reihe bekommen hab hat es mir Spaß gemacht. Dann wollte ich nicht mehr auf dem DOS Rechner programmieren und bin dann irgendwie auf qbasic gekommen, weil ich das unter Windows benutzen konnte. Ich hatte gelesen dass das genauso sein sollte, aber dem war nicht so. Schon allein die "#" haben mich immer gestört und dann ging das mit den Variablen nicht und die alten quellcodes haben auch nicht mehr geklappt. Und die Hilfe war mir auch zu unübersichtlich. Bei dem Basic von DOS waren alle Befehle auf einer Seite sichtbar und bei Qbasic musste man scrollen, weil da waren viel mehr Befehle. Besonders hat mich auch gestört, dass ich nur noch so ein kleines Fenster hatte wo ich geschrieben habe. Auf jeden Fall hatte ich durch den ganzen Frust mit dem proggen dann aufgehört. Wäre ich mal damals auf qbasic.at und nicht .de gegangen!!!!! Vor etwa einem Jahr hab ich mich dann auf die Sche nach einem schönen Basic Compiler gemacht, der so mit den Befehlen war wie das alte Basic. Ich hab ziemlich viel ausprobiert bis ich dann endlich Freebasic auf der Festplatte hatte, da hab ich mich in der IDE und den Befehlen direkt zurecht gefunden. Zusätzlich hat mir hier die Community bei meinen Fragen geholfen. Das mit dem deklarieren hatte ich vorher überhaupt nicht verstanden aber die Tutorials von hier haben mir sehr geholfen. |
|
Nach oben |
|
 |
helium

Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 05.12.2008, 21:24 Titel: |
|
|
Es gibt C Interpreter.
Java VMs und die CLR haben einen JIT Compiler, die nativen Code erzeugt.
Zitat: | Unter Linux ist da die Auswahl nicht allzu groß |
Das ist Bullschitt. Informier dich erstmal genauer bevor du solche unhaltbaren Behauptungen in den Raum stellst..
Zitat: | Compilierte Sprachen haben einige nicht zu unterschätzende Vorteile:
- sie sind in Sachen Ausführungsgeschwindigkeit nicht zu schlagen |
Wie gesagt werden Sprachen, wie Java oder C# nicht zwangsweise interpretiert, sondern zu großen Teilen compiliert. Virtuelle Maschienen sind die Zukunft. Wenn Lowlevel, dann LLVM. Clang und LLVM-GCC schlägt schon jetzt den normalen GCC was Performance angeht.
Wenn du JITtest kannst du wesentlich besser optimieren, du hast immer perfekte Daten für Profile Guided Optimisation, du kannst für genau den Prozesser optimieren, auf dem es aktuell laufen soll, statt für den kleinsten gemeinsamen Nenner, ...
Zitat: | - hardwarenahe Featueres wie z.B. Zeiger (gibt es mittlerweile selbst bei Freebasic). Für hardwarenahe Programmierung sollte man daher auch lieber Compilersprachen nehmen. |
Quark. _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit.
Zuletzt bearbeitet von helium am 05.12.2008, 21:51, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
helium

Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 05.12.2008, 21:35 Titel: |
|
|
frebas hat Folgendes geschrieben: | Also mich wundert dass es hier so viele gibt die die so viel Programmiersprachen können und trotzdem hier im Freebasic Forum aktiv sind. |
Es ist "Das deutsche QBasic- und FreeBASIC-Forum". Es gibt immernoch einige Nostalgiker, die nur aus diesem Grunnd hier ab und zu mal reinschauen. _________________ Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|