.NET ist doch popel easy... aber ich würde dir nicht empfehlen VB.NET zu nehmen. Allein schon die tatsache das es keine program.cs gibt, bzw. Einstiegspunkt... und keine app.config etc. Muss man alles irgendwie anderst machen... Achja und Array-Längen werden mit dem Index definiert *haha*.
Im ernst .NET hat man als Delphi Coder in 1-2 Tagen inne. Das Framework lernst du kennen während du Programmierst, man muss ja am anfang nicht alles auswendig wissen.
kannste eine Sprache kannste alle (es sei denn du kannst C oder hast studiert, dann kannste nix), der Teufel liegt aber immer im Detail. Ich sag nur Dynamics... yeeee in 99.9999% der Fälle funzt kein Where() weil Trolle net Updaten komm wir machen nen Addon.... Oder noch besseres Beispiel die ??? ^^ aber BTT habn paar lustige Klassen für OpenTK wennde interesse hast, kann ichse gern hochladen.
Ich hab noch nie Linq verwendet, bisher nicht wirklich gebraucht. Mir reichen die "normalen" bordmitteln, im vergleich zu Delphi sind das schon krasse welten. Aber ich will Delphi nicht schlecht reden, hab das schliesslich über 10 jahre verwendet.
Ein mega vorteil von .NET ist eindeutig Assembly/Reflection... damit kann man sehr einfach Plugin Orientiert arbeiten und muss sich nicht mit irgendwelchen Pointer geschichten rumärgern wenn man in ner DLL Methode mal ne Klasse übergeben will, oder arrays etc.... Bei reinen .NET Anwendungen ist das wirklich erste Sahne...
Aber zum Thema... Mach C# und nutz OpenTK ^^ Wer brauch schon VB.NET... wenn du C# kannst, dann wirst du auch VB.NET können, aber dich ärgern wie mies manche sachen dort gelöst sind...
Irgendwie kommt der anschein auf, ich mag VB nicht... kann das sein.... jaaa das liegt an persönlicher Erfahrung, da ich Beruflich damit leider sehr viel zu tun hatte... und ich erriner noch an den Spruch von einem Mathe Professor mit dem ich zusammengearbeitet habe und ich damals Delphi/Freepascal programmiert habe. --- "VB ist die beste Sprache die es gibt" --- *no comment*
nun ich denke das alte VB war bestimmt das schlimmste hinter der sonne... Aber wenn ich mir C code bzw C# code so ansehe... da krieg ich Augenkrebs.. Ich hasse einfach diese geschwungenen Klammern... Zudem weiß ich nciht was diese ollen <<>> zeichen immer sollen .. Ich dachte immer seit .NET ist es egal ob man in C# oder VB.NET arbeitet.. hab auch schon damit bissl expirimentiert und konnte auch teile in C# proggen und teile in VB.NET ging super einfach und konnte die klassen untereinander nutzen.. So von der Optik her gefällt mir also VB Code mehr.. weil er ähnlicher dem Delphi code ist.
Was wären es denn für Nachteile die mich erwarten könnten, wenn ich nun doch VB nehme?
Zitat:
kannste eine Sprache kannste alle (es sei denn du kannst C oder hast studiert, dann kannste nix), der Teufel liegt aber immer im Detail. Ich sag nur Dynamics
Dem kann ich nur beipflichten.. ich musse schon des öffteren mit Programmierern anderer Firmen zusammenarbeiten, die nur die stumpe C-scheiße studiert haben.. Da hab ich schon ganz andere Sachen mit Delphi gemacht und hab nie studiert
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Was geht denn hier… Also nach meinen Erfahrungen sind diejenigen, die eine native Sprache studiert (also wirklich studiert, nicht an der Uni gelernt) haben, meist viel mehr mit den Ressourcen, die sie nutzen, vertraut. Also haben eine bessere Idee davon, was effizient und sinnvoll ist. Und eine bessere Intuition was andere Systeme betrifft. Während besonders die Java-Only Fraktion eher so mal keine Ahnung hat, warum sie was macht (siehe dazu aber auch unten).
Jedem das seine in der Syntax, aber wenn eine Sprache Arrays nach ihrem höchsten Index anstatt ihrer Länge anlegt, ist das schon ziemlich gegen alles, was heutige Programmiersprachen machen. Aber gut, die ganzen *Basic-Sprachen kann man eh kaum ernst nehmen.
Und mit verlaub: C ist alles andere als Stumpf. Der Studienplan kann Stumpf sein, beziehungsweise die Studenten, denn viel zu viele Lernen einfach nur, anstatt ihr Fach zu Studieren, sich wirklich etwas zu erarbeiten. Dementsprechend wenig eigene Bildung haben sie dann, und wenn ihnen eine Frage gestellt wird, die der Prof nicht behandelt hat, haben sie keine Ahnung mehr, was sie sagen sollen. Sascha hatte da neulich so'n schönes Beispiel von nem Uni-Absolventen, der kaum eine weitergehende Frage mit was anderem als „äääh“ beantworten konnte. Basic ist Stumpf, weil man da keine Ahnung hat, was man eigentlich tut. Man hat nichtmal kontrolle darüber, welche Floattypen(!) man verwendet. VisualBasic setzt einem einfach 32bit Floats vor. Eine Wahl hat man nicht. Wenn einem dann die Timer abrauchen, weil der Float irgendwann zu ungenau wird, um in Sekunden zu rechnen, dankeschön.
Nachtrag zu „Es sei denn du kannst C[…]dann kannste nix“. Was zur Hölle. Einige der wichtigsten Softwareteile, die heute in gebrauch sind, sind in C geschrieben. Genau. Der Linux-Kernel. Ein Großteil der Utilities, die ein Linux-System überhaupt benutzbar machen sind in C geschrieben (damit meine ich so dinge wie cp, mv, …). Viele Microcontroller werden hauptsächlich in C programmiert. Die Firmware von meinem DAP ist Opensource und, oh wunder, in C geschrieben.
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 network • my 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
Registriert: Mi Dez 03, 2008 12:01 Beiträge: 167 Wohnort: /country/germany
Programmiersprache: C++ / FreeBASIC
Lord Horazont hat geschrieben:
Aber gut, die ganzen *Basic-Sprachen kann man eh kaum ernst nehmen.
Das will ich jetzt aber mal überhört haben.
Lord Horazont hat geschrieben:
Basic ist Stumpf, weil man da keine Ahnung hat, was man eigentlich tut. Man hat nichtmal kontrolle darüber, welche Floattypen(!) man verwendet. VisualBasic setzt einem einfach 32bit Floats vor.
Das mag vielleicht eine VisualBasic-Eigenheit sein, aber das auf alle Basic-Dialekte zu verallgemeinern ist nicht richtig. Und nicht zu wissen was man tut ist ein Problem der Menschen, nicht der Sprachen. In den restlichen Punkten gebe ich dir jedoch Recht.
_________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
kannste eine Sprache kannste alle (es sei denn du kannst C oder hast studiert, dann kannste nix), der Teufel liegt aber immer im Detail. Ich sag nur Dynamics
Ich denke das Problem liegt eher da, wenn du heitzutage kein C oder nur C (Ist bei C++ nicht ganz so grafierent aber auch) kannst. Ich sehe es an meinem Arbeitskollegen, der VB 6 und VB .Net kann. Der Code, der von ihm produziert wird, ist sowas von unperformant, da sieht man auf den ersten blick Sachen, die gar nicht gehen. Zb. Letztens hat er in ner Schleife ne Funktion aufgerufen, die eine Kopie von einem Array zurückgegeben hat, nur um dann in jedem Schliefendurchlauf mit nem Indexer draufzuzugreifen.
Wenn man C wirklich kann, dann macht man sowas nicht. Man denkt mehr nach, ob das was man da gerade macht denn nicht ohne großen aufwand auch schneller geht.
Wenn man dann aber nur C kann, bist du als Entwicker für zb. eine Windowsanwendung ja total verloren. Da hat .Net Entwickler schon seine 10 Tool am laufen gehappt und das UI fertig, da schreibt der C Entwicker noch WNDCLASS .
Das hört sich so an als würde ich C verabscheuen, was aber nicht so ist. Ich bin ein sehr zufriedener C++ Entwicker(Hab geschaft, noch nicht allzuviele Zugriffverletzungen zu verursachen ) und kenn mich daher natürlich auch ein bisl mit C (Da C ja FAST eine Teilmenge von C++ ist) aus.
Ps. Wir driften grade ein bischen ab, kann das sein?
Ja irgendwie driften wir vom Thema ab ^^ Lass uns ein neues Thema aufmachen wo wir VB/C/Delphi etc. zerreissen *joke*.
Im ernst die meisten hier sind und waren alle Delphi/Pascal Programmierer, daher ja auch DGL... aber mittlerweile ist Delphi halt ins abseits gerutscht und daher sind viele zu C++ oder was anderes gewechselt.
Aber ist im grunde schnuppe welche Sprache, denn wenn man einmal eine Programmiersprache beherrscht, also das Grundkonzept dahinter versteht dann kann man alle Sprachen sehr schnell lernen. Da ist dann halt immer die Syntax anderst oder ähnlich und das Framework, seis jetzt std oder .NET ist halt verschieden.
Aber... wie man Arrays mit dem Index definieren kann, das ist mir immernoch ein rätsel was sich MS dabei gedacht hat, naja, wayne.
Haha hier mal ein vergleich zu einer simplen array deklaration... hmm welches ist übersichtlicher? Verdammt wieder OT...
float kram[10]; (C / C++) dim kram(9) as single (VB) kram: array [0..9] of single; (Delphi / Pascal)
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Naja, ging halt schon um die Sprachwahl, also lassen wir das hier mal zusammen…
Anyways: Hast du schonmal versucht Haskell zu Coden? Man sollte dein Statement vielleicht umformulieren in: „Aber ist im grunde schnuppe welche Sprache, denn wenn man einmal eine imperative Programmiersprache beherrscht, dann kann man alle imperativen Sprachen sehr schnell lernen.“
Zu den Array-Deklarationen: Also mein Favorit ist ja np.zeros(10) oder [0.]*10 von python . Ne, im ernst: Von den dreien am Explizitesten ist das letzte. Am verständlichsten das erste oder letzte, aber das ist subjektiv, denn ich konnte die Basic-Syntax noch nie ausstehen . Für jemanden, der Programmiererfahrung hat, ist das erste klar und deutlich.
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 network • my 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
In Visualbasic gibt es Double(64Bit) und Single(32Bit). Es wird sogar eher Double automatisch favorsiert, da die Integerrechnung 1 / 2 den Wert 0.5 als Double zurückliefert.
Zitat:
Der Code, der von ihm produziert wird, ist sowas von unperformant
Das stimmt hingegen. In VB reserviert ist ganz leicht mal viel Speicher reserviert, obwohl es auch ganz leicht zu vermeiden wäre. Arrayrückgabe von Funktionen ist da das beste Beispiel.
Zitat:
float kram[10];
Wenn mich was am C(++) Syntax richtig stört, dann ist das diese total dämliche Art Zeiger und Arrays zu deklarieren. Schon alleine die Tatsache das man um die Variable mit einem Inhalt zu füllen mit "(float*)XXX" casten muss beweißt, dass das Sternchen zum Typen und nicht zur Variable gehört. Selbiges bei Arrays, bloß das es da noch schlimmer ist, da man nichtmal die Möglichkeit hat, es selber für sich anders zu machen. Was ich auch noch ziemlich komisch finde, ist das "void" bei parameterlosen Funktionen.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
OpenglerF hat geschrieben:
Was ich auch noch ziemlich komisch finde, ist das "void" bei parameterlosen Funktionen.
Du meintest sicher Rückgabewertlos. Bei Parameterlosen ist es optional.
OpenglerF hat geschrieben:
Schon alleine die Tatsache das man um die Variable mit einem Inhalt zu füllen mit "(float*)XXX" casten muss beweißt, dass das Sternchen zum Typen und nicht zur Variable gehört.
Stimmt. Bei Deklarationen ist das leider etwas inkonsistent, da das sternchen dort pro variable und nicht pro typ gilt. Wer char* foo, bar; schreibt ist aber auch böse. Das muss char *foo, bar; sein. Für Arrays sehe ich nicht, was du meinst?
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 network • my 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
Ha man wird dort schlauer hier ^^ Imperative hör ich grad zum ersten mal, aber ich hab ja auch nicht Studiert und mir halt alles innerhalb von > 20 Jahren selbst beigebracht. Haha ich errinner mich schon als kleiner knirps habe ich mit Delphi 2 angefangen, vorher das basic vom C64 ^^ das waren welten...
Übrigens was er meinte ist void in parameter (Also delegates im grunde, bzw. typen lose pointer ^^):
int myFuntion(void* ptrToAFunc) { ... }
Zitat:
Wer char* foo, bar; schreibt ist aber auch böse. Das muss char *foo, bar; sein.
Was macht es für einen Unterschied ob ich char* foo, oder char *foo schreibe ? Dem Parser ist das ja schlicht weg egal, da der eh das Leerzeichen killt... Finde das char* foo die Verständnisvollere schreibweise ist, denn char* ist wenn man ins Delphi übersetzt (type PChar = ^Char); Also ein pointer auf ein Char und nicht ein Pointer auf die Variable... aber naja...
Zuletzt geändert von Finalspace am So Mai 06, 2012 15:59, insgesamt 1-mal geändert.
Du meintest sicher Rückgabewertlos. Bei Parameterlosen ist es optional.
Ne, waren schon die Parameter gemeint. Wenn man das weglässt, sagt das dem Compiler, dass beliebige Parameter übergeben werden können. So, hab ich das zumindest in Erinnerung.
Zitat:
Für Arrays sehe ich nicht, was du meinst?
"int Test[10];" und leider nicht "int[10] Test;".
EDIT:
Zitat:
Wer char* foo, bar; schreibt ist aber auch böse. Das muss char *foo, bar; sein.
In der Beziehung finde ich D genial. Ersteres definiert dort alle Variablentypen als Zeiger und bei zweiteren nur den Ersten. Wobei ich mir angwöhnt habe, nie mehrere Variablen so zu verbinden.
"int Test[10];" und leider nicht "int[10] Test;".[/quote]
Öh, das ist doch in VB so, siehe mein Beispiel oben dim Test(10-1) as integer. Daher sehe ich hier keinen Unterschied... ich muss aber zugeben das int[10] logischerweise und Test im grunde nur der Name des Arrays ist. Aber in meisten Sprachen ist es tatsächlich so, int Test[10]... aber naja... man gewöhnt sich an alles ^^
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Finalspace hat geschrieben:
Was macht es für einen Unterschied ob ich char* foo, oder char *foo schreibe ? Dem Parser ist das ja schlicht weg egal, da der eh das Leerzeichen killt... Finde das char* foo die Verständnisvollere schreibweise ist, denn char* ist wenn man ins Delphi übersetzt (type PChar = ^Char); Also ein pointer auf ein Char und nicht ein Pointer auf die Variable... aber naja...
Weil die Bedeutung eben eine andere ist. Bei
Code:
char* foo, bar;
ist foo ein Pointer auf char, bar aber nur ein char. Deshalb sollte man der Lesbarkeit halber das * an foo dran machen.
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 network • my 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
Sorry aber ich wollte eigentlich keine Diskussion über "welche Programmiersprache ist die beste.." anfangen Eigentlich wollte ich ja nur wissen ob VB.NET prinzipiell geeignet ist, für professionelle OpenGL Anwendungen. Mein Fazit:
Bei Anwendungen wo es mehr auf die Kompatibilität ankommt ist .NET nicht zu schlagen.. Aber bei Performance (aufgrund des .NET Wrappers) ist eher Delphi angesagt. Kann man das so zusammenfassen?
Mitglieder in diesem Forum: 0 Mitglieder und 7 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.