PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche Sprache



rogen
08-02-2003, 15:23
bis jetzt habe ich nur visual basic programmiert
-da ich jetzt auf linux umgestiegen bin nützt mir das nicht mehr so viel -

jetzt möchte ich mir einen neue sprache aneignen.

ich möchte kleine programme schreiben - adressendatenbanken usw...
so programmieren wie im Visual Basic wäre auch ganz fein.

was gibt für programme für java ?
ist C++ zu kompilziert ?

anda_skoa
08-02-2003, 16:23
Original geschrieben von rogen

was gibt für programme für java ?
ist C++ zu kompilziert ?

Eswäre auf jeden Fall eine größere Umstellung, weil sich kompilierte Sprache anders verhalten als Scriptsprachen.

Eventuell tust du dir mit einer BASIC Sprache für Linux erst mal leichter.
zB http://www.xbasic.org/ oder http://gambas.sourceforge.net/

Dann wäre eventuell eine andere Scriptsprache interssant, www.python.org zum Beispiel.

Ciao,
_

rogen
08-02-2003, 16:51
ist / war visual basic eine script sprache ?

itsme
08-02-2003, 17:02
Wenn du was ähnliches suchst wie Visual Basic dann wäre Kylix vielleicht ganz interessant: http://www.borland.com/kylix/index.html

Es gibt da auch eine kostenlose Version, welche allerdings einige Einschränkungen hat.

Lin728
08-02-2003, 17:42
Hi!

Sorry, sei jetzt bitte nicht böse wenn ich das sage, aber du tust gut daran, dich von VB abzuwenden.
Es ist zwar leicht zuerlernen, aber der Code der rauskommt ist furchbar langsam (~2x langsamer als java!) und die Sprache ist grausam!

Naja, es gibt Gambas, die wollen so ne art VB für Linux machen und sind da schon echt weit.

Ich persönlich würde dir empfehlen, Java zu lernen, das hat alles was man so braucht, läuft uner Linux/WinodwsMac/Solaris..... und ist viel komfortabler als C++.
Noch dazu ist die Sprache ziemlich sauber.
Der Nachteil ist, dass man eine Runtime installiert haben muss, damit man java-Programme starten kann.

Der JBUILDER ist eine ziemlich gute Java-Entwicklungsumgebung, gibts alles kostenlos.

N gutes kostenloses java-buch gibts auf www.javabuch.de .

Viel Erfolg!

itsme
08-02-2003, 18:57
Es ist zwar leicht zuerlernen, aber der Code der rauskommt ist furchbar langsam (~2x langsamer als java!) und die Sprache ist grausam!

Sorry aber das ist wirklich ziemlicher Mist. Ich bin zwar auch kein Fan von VB aber langsamer als Java ist das Ergebnis sicher nicht. Das grösste Problem mit VB ist wohl eher dass es nur unter Windows läuft.

rogen
08-02-2003, 19:09
ein freund von mir kannn java
ich glaube das ist es schon -

werde es mir reinziehen

danke

SeeksTheMoon
08-02-2003, 19:49
Original geschrieben von rogen
ist / war visual basic eine script sprache ?

Ja. Und vor allem eine, die ziemlich unsauberes Programmieren unterstützt.
Das gilt insbesondere für VBA. Ich habe mal ein Projekt mit VBA gemacht und habe mir die Haare gerauft:
Das Exceptionhandling schreit zum Himmel, vor allem weil man mit gotos rumspringen muss und (in meinem Fall) ein bestimmter Fehlercode entweder absolut harmlos ODER der MegaGAU gewesen wäre und VBA keine Möglichkeit bot, der Sache genauer auf den Grund zu gehen. Wenn dieser Fehler auftritt, muss erstmal der Anwender manuell mehrere Hundert Tupel in der "Datenbank" durchwühlen, mit der wir gearbeitet haben.

Dass man Variablen nicht deklarieren, sondern direkt gebrauchen kann (wenn man es nicht vorher explizit deaktiviert hat), ist auch böse.

Und wenn es ein bestimmtes Objekt nicht gibt, kann man diverse Dinge nicht erledigen und sich nichtmal einen Workaround schaffen. Mit Basic .net soll das ja jetzt anders geworden sein.

Ich war vorher C/C++ und Java gewohnt und bleibe mit Freuden dabei. Vor allem Java ist angenehm einfach und flexibel:
Man arbeitet halt auch nur mit Objekten und Methoden wie in einer Scriptsprache. Der Vorteil ist halt, dass man eigene Klassen schreiben kann und nicht aufgeschmissen ist, wenn es bereits keine fertige Lösung gibt.
Das Exceptionhandling ist auch sehr gut. Die Datenbankanbindung mit JDBC und JDBC:ODBC ist top (auch wenn man bedenkt, welch großartige Java-Features Oracle anbietet, die Java immer mehr in die Datenbank integrieren).
Und natürlich: goto ist nicht benutzbar (nicht so wie in VB wo man es benutzen muss oder C/C++ wo man es benutzen kann).

Wie ich in der letzten c't gelesen habe, soll aber auch Smalltalk nicht schlecht sein. Smalltalk soll ja so mega-objektorientiert sein, dass Java dagegen wie Assembler aussieht *g*

Lin728
08-02-2003, 21:13
@itsme:

Das kommt darauf an, was du unter Performance verstehst!

VB-Code ist tatsächlich um ein viefaches langsamer as Java, mich würde es auch nicht wundern wenn es sich um den Faktor 5 handekn würde!

itsme
08-02-2003, 23:36
@SeeksTheMoon
Wieso sollte VB eine Scriptsprache sein?!? Ausserdem sind Bemerkungen wie


goto ist nicht benutzbar (nicht so wie in VB wo man es benutzen muss oder C/C++ wo man es benutzen kann).

ziemlich witzlos, da man den Code in jeder Sprache ziemlich sauber strukturieren kann. Nur muss man es auch wollen.


@ceisserer

Es ist zwar ganz nett wenn Java intern theoretisch schneller arbeitet, der User will aber was auf dem Bildschirm sehen und nicht 2 Minuten auf eine Reaktion wartet. Das der Java P-Code nicht soooo schnell ist, ist schon klar, aber in höheren Versionen kann der Umweg über P-Code auch weggelassen werden. Eigentlich ist diese Diskussion aber auch gar nicht sinnvoll da es egal ist in was man entwickelt. Hauptsache der Kunde bekommt was er benötigt - ob mit VB, Java oder C/C++ ist schlussendlich egal.

SeeksTheMoon
09-02-2003, 00:24
warum VB eine Scriptsprache ist?

Vielleicht hab ich nicht den tiefsten Einblick in VB genommen, aber wenn man auf die Objekte angewiesen ist, die in den dlls stecken und selber nichts stricken kann, wenn man Lose Typing benutzen kann und wenn man die Programme nicht kompilieren muss (VBA), dann ist es für mich eine Scriptsprache.

Außerdem muss man goto verwenden, weil man vor Programmbeginn Exceptionhandling einschalten muss und die Fehler erst weiter unten passieren können. Daher kommen die Ausnahmebehandlungen an einer Sprungmarke am Schluß.
Man kann Code nicht in jeder Sprache sauber strukturieren. Oder kommst Du in Assembler ohne Sprünge aus?

Aber klär mich auf, wenn sich VB von VBA dermaßen unterscheidet.

itsme
09-02-2003, 00:41
Das eine ist eine Script Sprache und kommt z.B. in MS Office Produkten zum Einsatz. Das andere ist aber eine richtige Programmiersprache. Ich finde es immer wieder faszinierend wie sich immer alle auf dieses goto einschiessen. Dabei wird es ausser beim Exception Handling so ziemlich gar nirgends verwendet. Ich bin auch kein Fan von VB, und würde es freiwillig auch nie benutzen. Wenn es allerdings darum geht Desktop Anwendungen für Windows zu entwickeln, dann ist es ganz brauchbar.

itsme
09-02-2003, 00:59
@ceisserer

Mal was anderes...hast du immer noch Lust ein Spiel mit Java zu erstellen? Hast du dich noch etwas nach einer 3D Engine umgesehen?

wisi
09-02-2003, 08:15
Original geschrieben von ceisserer
Java ist geil!

Ich finde Java auch geil, aber Brainfuck ist auch nicht schlecht :D

JoelH
09-02-2003, 08:43
Ruby rulez !!

Ideal für kleinere Sachen, vollkommen OOP orientiert, plattforfunabhängig, grafikfähig durch tk usw. alles was man so bruacht. Allerdings ein Scriptsprache, aber das ist ja egal, kann ja auch ein Vorteil sein.
www.ruby-lang.org

Lin728
09-02-2003, 12:31
@itsme:

Bin auch nicht allwissend, aber was ist Java P-Code, und warum sollte man in höhren Versionen den Umeg über Java P-Code auch weglassen können??

Berufspenner
09-02-2003, 15:22
Original geschrieben von ceisserer
Derzeit hat mir mein Chef aber wieder so viel arbeit aufgebrummt, dass ich keine Zeit für OSS habe. Mal sehen, ich schätze so in 3 Monaten bin ich wieder frei...Bis dahin ist ja genug Zeit um alles zu Planen und Ideen zu sameln :)

Cu
André

Lin728
09-02-2003, 15:45
Warte sowieso noch auf ein buch von nostarch , das sich mit der gameenigne von blender auseinandersetzt.
Komt ende februar in den handel *freu

rogen
09-02-2003, 16:24
mein freund hat auch von ruby gesprochen und gesagt das wäre es !

itsme
09-02-2003, 16:47
@ceisserer

Das mit P-Code hat mit VB zu tun und nicht Java. Ist ja aber eigentlich auch egal! :)

rogen
09-02-2003, 17:33
mmmmmmmm

nein werde doch java lernen

rogen
09-02-2003, 21:54
mm oder doch ruby

gibt es für ruby auch ein programm so wie jbuilder ?

itsme
09-02-2003, 22:06
Wieso nicht einfach beides? Wenn man mal in einer Sprache programmieren kann ist es kein sehr grosser Aufwand noch eine andere zu lernen.

Lin728
10-02-2003, 08:57
Servus!

Ich habe mich schon mit ein paar solcher "Nischen"-Sprachen auseinandergesetzt, wie z.B. Haskell, Effel, ....

Die Sprachen sind wirklich klasse, das Problem ist aber leider, dass eben diese Sprachen seh wenig verwendet werden.
Am meisten hab ich mich z.B. mit Eiffel auseinandergesetzt, die Sprache ist wirklich klasse besser sogar wie Java, nur es hat eben auch das Problem, dass es sehr wenig nwendung findet, somit gibt es auch sehr wenig libraries, foren, knowhow.
Das ist das größte Problem, die Sprachen sind oftmals bsser als das, was sich etabliert hat.

JoelH
10-02-2003, 09:22
es gibt einige IDEs für Ruby, ich persönlich verwende allerdings meist vim (http://www.vim.org).

@ceisserer
Wieso ist es ein Problem wenn die Sprachen nur selten angewendet werden ? Man lernt ja erstmal vorranig für sich selbst. Auf der anderen Seite, wenn man sowas Jobmässig machen will sollte man schon die Standardsprachen beherrschen. Ob diese aber immer die beste und einfachste Lösung für das gesteckte Problem bieten steht auf einem völlig andern Blatt.

Es ist eben wirklich so dass es nicht DIE Sprache gibt die alles gleichermassen gut und effizient kann. Darum sollte man die Sprache IMHO nach der maximal effizienten Problemlösemöglichkeit auswählen. Dies wird aber leider viel zu wenig so gehandhabt. Wie auch immer, es kann nicht verkehrt sein Java zu kennen, aber Ruby ist viel schöner ;)

peschmae
10-02-2003, 14:31
@ceisser(er?)


Das kann man mit Java in Verbindung mit SWT auch machen, nur ist das schlecht zu coden, da es keine Garbage-Collection für widgets gbt ;-

ich glaube das ist nicht das Problem - du musst ja meist eh nur die "Shell" händisch freigeben.

Grössere Probleme bietet da die Tatsache, dass die API nicht extrem in richtung Benutzerfreundlichkeit entwickelt wurde, sondern mehr auf möglichst grosse Ähnlichkeit mit den OS - APIs abzielt

Ein weiteres Problem ist die per default fehlende Möglichkeit zum Subclassing beliebiger Widgets (kann man aber problemlos auch machen, wie eine Diskussion auf der swt-dev Mailinglist zeigt) und die fehlende Garantie der Beibehaltung interner Strukturen von Version zu Version, manchmal wird da (zu) viel über den Haufen geworfen

MfG Peschmä

rogen
10-02-2003, 21:39
ich werde mal gambas

weiss jemand ob gambas programme auch unter windows laufen ?
oder nur linux

anda_skoa
10-02-2003, 22:52
Original geschrieben von rogen
ich werde mal gambas

weiss jemand ob gambas programme auch unter windows laufen ?
oder nur linux

Ich denke, die laufen nur unter Linux.

XBasic geht glaub ich auf beiden Plattformen.

Ciao,
_

Lin728
11-02-2003, 09:18
Auswahl ist schön, aber manchmal kann sie erschlagend wirken..

peschmae
11-02-2003, 09:25
schon so, vor allem weil man sich immer zuerst einarbeiten muss, bevor man sagen kann, ob das Zeugs was taugt...

MfG Peschmä

anda_skoa
11-02-2003, 10:41
Das Gambas sieht aber cool aus.

Austauschbare GUI und soll auch so eine Art Executable erzeugen können.

Eigene IDE hat es mehr oder weniger auch, sogar in der eigenen Sprache geschrieben.
Das schafft nicht mal Borland :p

Ciao,
_

peschmae
11-02-2003, 12:56
ja, sogar die Möglichkeit zwischen Gtk+ und QT zu wählen ist in Planung

sieht toll aus :D

MfG Peschmä

rogen
11-02-2003, 15:49
funktionierten gambas programme auch unter windows ?

Berufspenner
11-02-2003, 18:02
Hi@all

Ich hab die Idee. Da es hier ja mehr oder weniger nen gewissen Flame gibt schlag ich einfach mal vor: Lern Assembler oder noch besser in 1en und 0en ;)

Cu
André

arthur
11-02-2003, 18:53
@rogen:
gambas gibts nur für linux

peschmae
12-02-2003, 12:15
das Niveau sinkt...

jetzt sind wir schon soweit, dass dieselbe Frage zweimal gestellt und zweimal beantwortet wird :D :D - und das im selben Thread

MfG Peschmä

anda_skoa
12-02-2003, 12:29
Original geschrieben von peschmae
das Niveau sinkt...

jetzt sind wir schon soweit, dass dieselbe Frage zweimal gestellt und zweimal beantwortet wird :D :D - und das im selben Thread


In der Open Source Szene geht die Entwicklung in großen Schritten voran.
Wer weiß ob morgen noch aktuell ist, was wir heute schreiben :D

Der wollte vielleicht nur sicher gehen.

Ciao,
_

peschmae
12-02-2003, 15:43
meinst du ???

ich glaube eher, der machts wie ich: immer nur die letzten beiden Beiträge eines langen Threads lesen :D

MfG Peschmä

rogen
13-02-2003, 22:54
wollte nur sicher gehen

oder eigentlich wollte ich es nicht glauben.
ich bin vor 5 jahren vor der frage gestanden - visual basic oder java.

habe mir leider das flasche ausgesucht.

jetzt will nicht wieder den gleichen fehler machen.
gambas gefällt mir echt gut aber ..... naja...

Lin728
13-02-2003, 22:59
Mit Java kannst fast nx falsch machen, dafür bietet gambas mehr komfort für dich als Umsteiger...

rogen
13-02-2003, 23:05
eben

eigentlich bin ich ein fauler hund, deswegen gefällt mir gambas.
aber im grunde ...


naja danke

grübel grübel grübel

rogen
14-02-2003, 17:54
letzte frage -

xbasic (funktioniert auch unter windows)
oder gambas ?

anda_skoa
15-02-2003, 13:51
Original geschrieben von rogen
letzte frage -

xbasic (funktioniert auch unter windows)
oder gambas ?

Wenn ich das richtig verstanden habe, dann hat hier keiner Erfahrungen mit einer der beiden Projekte.

Du wirst nich umhinkommen, sie zu evaluieren, also, welche Eigentschaften dir gefallen und wie wichtig sie dir sind.

Wenn du zB Windows auch als Plattform brauchst, kannst du nur XBasic nehmen.

Gambas scheint sich durch die verschiedenen GUI Module halt besonders gut in den verschiedenen Linux Umgebungen gut integrieren zu lassen.

Aber wie gesagt: ausprobieren, abwägen, Erfahrungsbericht posten :)

Ciao,
_

fork
16-02-2003, 13:18
Welche Programmiersprache?

Zunächst einmal möchte ich sagen das ich selbst kein Programmierer bin und eigentlich nur Skriptsprachen aktiv benutze, aber dennoch einen guten Überblick darüber habe, wie die gängigen Programmiersprachen eingesetzt werden, sowie deren Stärken und Schwächen.

VB
Als VB werden heute 3 Dialekte bezeichnet:

VB: Visual Basic - Die Entwicklungsumgebung zum Entwickeln compilierter Programme
VBA: Visual Basic for Applications - die haben eine auf die MS-Office Produkte erweiterte Funktionalität und funktionieren nur eingebettet in diese Anwendungen
VBS: Visual Basic Script - Eine Scriptsprache mit reduzierten Funktionsumfang, erweiterbar durch externe Objektaufrufe

Du gehst wohl von VB aus und moechtest etwas Ähnliches fuer Linux bzw. plattformübergreifend. D. h. Programmiersprache + RAD(Rapid Application Development) - Tools / IDE(Integrated Development Environment=Entwicklungsumgebung)

Scriptsprachen
Auch wenn ich mich dafür entschieden habe, ist das für die nicht optimale Wahl. Auch wenn die meisten Sprachen Unterstützung für grafische Oberflächen haben finde ich die Programme die auf Scriptsprachen basieren den kompilierten Sprachen unterlegen, rein subjektiv. Die Erstellung von Dialogen ist sehr mühsam(selbst gemacht: Perl/Tk) obwohl's auch IDE's gibt. Da hab' ich auch mal ein paar gefunden aber nichts damit gemacht. Desweiteren ist z. B. die Skriptsprache Perl ein gnadenloser Resourcenverschwender, ich vermute das das bei den anderen Scriptsprachen genauso ist.

Meine Empfehlungen

Java - Pro: gnadenlos plattformunabhängig, ausgereifte Sprache, RAD-Tools/IDE vorhanden
Contra: Langsame Ausführungsgeschwindigkeit(Computer werden aber immer schneller)

Kylix- Pro: ausgereifte Sprache, RAD-Tools/IDE vorhanden, hohe Ausführungsgeschwindigkeit, Entwicklung wie von VB her weiterführbar(Ausser der Programmiersprache: Delphi)
Contra: Plattformunabhängigkeit(Wahrscheinlich grösstenteils gegeben)

C/C++ -Pro: ausgereifte Sprache, RAD-Tools/IDE vorhanden, hohe Ausführungsgeschwindigkeit
Contra: plattformübergreifend verfügbar, Anpassungen ans Betriebssystem aber notwendig


Meinung
Meine Meinung ist das Java die besten Zukunftsaussichten hat. Derzeit sind aber die besten und meisten Anwendungen in C/C++ geschrieben. Kylix/Delphi ist vom Ruf her ein ausgereiftes RAD-System mit guten Ergebnissen und schneller Einarbeitung. Gambas denke ich ist noch unausgereift und wird wahrscheinlich auch nicht plattformübergreifend verfügbar sein.

Gruss
Tobias

Hauptmann
02-03-2003, 19:07
Hi!

ich würde gern den Autor des Buches Inside Visual C++ zitieren

Warum ich ein Buch über C++ geschrieben habe und nicht über JAva.?
Nich etwa weil es bereits dutzende Bücher über Java gibt sondern weil eine Compilierte Sprache immer schneller sein wird als eine Interpretierte(Java).


ansonsten
wie wärs mit BWBASIC
ist zwar nur ein Interpreter(nichtmal compilieren) aber ist ur geil mit dem zu Programmieren :D
nein
also
(Linux) Assembler ist eine feine Sache und kann schnell gelernt werden.
Wenn man ASM einmal durchschaut hat ist es rlativ einfach
Allerdings Tipparbeit vorausgesetzt.
Bytecode(oder wei andere sagen.: in 1 und 0 programmiren) ist ebenfalls gut
1.: Plattformunabhängig, da die Zahlen ja nur die CPU verstehen muss :D

also
natürlich gibt es auch noch ein Randsparte von Programmiersprachen in denen es sich zu programmieren lohnt.
Etwa Visual TCL
oder wie gesagt XBasic
meines Wissen nachs bekommt man XBasic aber nur für MS Windows(R).
oder ich würde dir zu C++(Ansi Standart von 1998) raten.

Hello World in C++


#include <iostream>

using namespace std;

int main()
{
cout<<"Hallo"<<endl;//oder std::cout.. wenn das using.. nicht wäre
}
[code]
und in BWBASIC
[code]
1 print "Hallo World"
REM Aufruf folgendermaßen
goto 1

anda_skoa
02-03-2003, 21:58
Original geschrieben von Hauptmann

ich würde gern den Autor des Buches Inside Visual C++ zitieren

Warum ich ein Buch über C++ geschrieben habe und nicht über JAva.?
Nich etwa weil es bereits dutzende Bücher über Java gibt sondern weil eine Compilierte Sprache immer schneller sein wird als eine Interpretierte(Java).



Nunja, da hat er nicht ganz recht.
Java ist eine kompilierte Sprache.
Der Maschinencode wird nur meistens in einer Virtuellen Maschine abgearbeitet, aber es wäre kein Problem, es auch in Hardware zu lösen.



oder wie gesagt XBasic
meines Wissen nachs bekommt man XBasic aber nur für MS Windows(R).


XBasic gibt es auch für Linux.
Sonst hätten wir es weiter vorne im Thread wohl kaum behandelt :)

Ciao,
_