PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ vs VB



aL1ien
15.07.2009, 10:39
Hallo,

Ich habe einen kleinen Artikel über C++ vs VB verfasst. Da ich _NICHT_ alleine über das Thema bestimmen kann, möchte ich gerne Feedback von euch erhalten. Hier (http://w0nd3rl4nd.wordpress.com/2009/07/15/c-vs-vb/)gehts zum artikel.

Der Artikel soll ein gewisses Level erreichen und dies ist nur durch feedback / brainstorming möglich.

Nun, bitte postet euren eindruck, den ihr gesammelt habt und lasst mich eurem wissen teil haben ;).

Der Artikel wird dann sukzessiv erweitert.

mfG

Das ziel dieses atrikel ist folgender: Man merkt, welcher aufgabenbereich eine Sprache hat und wo man welche sprache einsetzen soll/kann. Es soll nicht dazu da sein, dass man sagen kann, welche sprache die beste ist. Zudem habe ich hier bewusst auf Fachjargon verzichtet, da er ein einsteigerfreundlicher Beitrag werden soll

auto
15.07.2009, 10:57
Schöne kleine Zusammenfassung. Sowas ist bestimmt auch hilfreich für Leute die schauen möchten was sie denn für eine Programmiersprache lernen sollen und welche Vor-Nachteile diese haben. Ich weiß nich ob jetz alles aufgelistet is aber mir fällt nix ergänzendes mehr ein.

Jetz is mir doch noch was eingefallen ein Nachteil von c++ is noch das es teilweise etwas veraltet ist.

pumbaa
15.07.2009, 11:05
Die zwei Sachen würden mir noch einfallen.

C++
Positiv: Maschinennahes Programmieren

VB
Negativ: Läuft nur mit .NET Framework oder Mono(auf Linux)

naroht
15.07.2009, 11:07
meine ehrliche meinung: schwachfug!
sorry, aber du vergleichst ne banane mit ner nuss. die haben gemein, dass man sie beide essen kann...

vb ist einfach mal hässlich und ist meinermeinung nach nur für den schnellen kleinen erfolg nütze. überhaupt der vergleich zwischen c++ und vb ist eine beleidigung für jeden cpp-programmierer.

zu deinem artikel an sich kann ich leider auch kein sonderlich positives feedback geben. du führst da einfach ein paar schlagworte auf. "Große Kontrolle", was bitte soll denn das heißen?
das ganze ist meiner meinung zu schwammig und ohne jegliches fachwissen.

sorry, ist wirklich nicht persönlich gemeint!

aL1ien
15.07.2009, 11:32
meine ehrliche meinung: schwachfug!
sorry, aber du vergleichst ne banane mit ner nuss. die haben gemein, dass man sie beide essen kann...

vb ist einfach mal hässlich und ist meinermeinung nach nur für den schnellen kleinen erfolg nütze. überhaupt der vergleich zwischen c++ und vb ist eine beleidigung für jeden cpp-programmierer.

zu deinem artikel an sich kann ich leider auch kein sonderlich positives feedback geben. du führst da einfach ein paar schlagworte auf. "Große Kontrolle", was bitte soll denn das heißen?
das ganze ist meiner meinung zu schwammig und ohne jegliches fachwissen.

sorry, ist wirklich nicht persönlich gemeint!
Klar, so kann man das auch sehen. Ich weiss noch als ich vor 6 jahren angefangen zu programmieren. Ich wusste nicht, für was ich mcih entscheiden soll. Es soll kein direkter vergleich sein sondern eine art Hilfestellung.



vb ist einfach mal hässlich und ist meinermeinung nach nur für den schnellen kleinen erfolg nütze
Du hast wohl das Fazit nicht gelesen


das ganze ist meiner meinung zu schwammig und ohne jegliches fachwissen.
Ich arbeite als programmierer, also sag mir nicht, dass ich kein fachwissen besitze.
Bitte lese nochmals der erste satz in dem artikel. Es ist an den ANFÄNGER gerichtet und somit möchte ich nicht mit fachwörter ummichschmeissen sondern es Grob zusammenfassen.

@Pumbaa: Danke, habe es hinzugefügt.

xpecs
15.07.2009, 11:39
Du hast bestimmt noch nicht wirklich programmiert oder?
Ich meine alleine der Titel schon C++ vs VB ist einfach nur bescheuert. Tut mir Leid ist aber so. Auch mit C++ lassen sich GUI einfach und schnell zu recht ziehen. Du brauchst einfach nur die richtige IDE die das unterstützt.
Was ist denn schlecht, wenn eine Sprache "komplex" ist?

xpecs

aL1ien
15.07.2009, 11:41
Du hast bestimmt noch nicht wirklich programmiert oder?
Ich meine alleine der Titel schon C++ vs VB ist einfach nur bescheuert. Tut mir Leid ist aber so. Auch mit C++ lassen sich GUI einfach und schnell zu recht ziehen. Du brauchst einfach nur die richtige IDE die das unterstützt.
Was ist denn schlecht, wenn eine Sprache "komplex" ist?

xpecs
Es ist eine gegenüberstellung von vb mit C++. Im gegensatz zu C++ kann man mit VB leichter / einfacher guis erstellen. Damit ist nicht gemeint, dass man in C++ nur sehr mit guis arbeiten kann. Im gegensatz zu vb ist C++ komplex. Es ist keine verallgemeinerung, sondern ein direkter vergleich der zwei sprachen.

Zu deiner ersten aussage: Doch, stell dir vor, ich arbeite sogar als programmierer(Hauptsächlich C++).

Metropoler
15.07.2009, 11:46
Schöne kleine präzise Übersicht. Auch wenn VB.NET wenig positives besitzt, bleibe ich dabei und lerne es.
Im Grunde genommen sind alle Programmiersprachen nur kleine Äste von einem riesen Baum, dessen Stamm immer gleich bleibt.

int_main();
15.07.2009, 11:48
C++ vs VBNaja, er meint eine gegenüberstellung, die jedoch echt schwammig ist.


versus = gegen

th3flood
15.07.2009, 11:48
Meiner Meinung nach ist es schon etwas sinnlos, C++ mit Visual Basic direkt zu vergleichen ("Banane und Apfel - beides kann man essen", ich gebe naroht recht). Es könnte allerdings hilfreich für Anfänger sein, die noch nicht wissen welche Programmiersprache sie lernen wollen, wenn es etwas ausführlicher geschrieben wäre und vor allem die Fakten auch stimmen würden. Es ist nämlich (IMHO) nicht so, dass C++ automatisch mehr und Visual Basic weniger Schutz vor Reverse Engineering
bietet oder man mit VB überhaupt nicht "ins System eingreifen" kann (Anmerkung: Ich möchte Visual Basic hier nicht verteidigen :P). Auch der Punkt "große/kleine Kontrolle" ist sehr unpräzise, daher würde ich den Artikel vielleicht noch einmal überdenken und ändern bzw. erweitern.

-
th3flood

xpecs
15.07.2009, 11:49
Weil auch meiner Meinung nach es sinnlos ist C++ mit VB zu vergleichen...

und was hat denn bitte eine Programmiersprache mit GUI zu tun?

Toll du bist Programmierer(Daumen hoch).

Mag sein das C++ komplexer ist, aber ist das nen Nachteil? Ich habe nichts anderes gefagt.


Damit ist nicht gemeint, dass man in C++ nur sehr mit guis arbeiten kann
Du hast mich falsch verstanden. Ich behaupte das man genauso einfach und schnell mit C++ eine GUI erstellen kann

naroht
15.07.2009, 11:54
Doch, stell dir vor, ich arbeite sogar als programmierer(Hauptsächlich C++).

sorry, aber so kommts wiklich nicht rüber...

was bitte ist negativ an "Mehr Schutz des Quellcodes"?

und du hast meine frage nicht beantwortet, was du mit kontrolle meinst...

aL1ien
15.07.2009, 11:55
Meiner Meinung nach ist es schon etwas sinnlos, C++ mit Visual Basic direkt zu vergleichen ("Banane und Apfel - beides kann man essen", ich gebe naroht recht). Es könnte allerdings hilfreich für Anfänger sein, die noch nicht wissen welche Programmiersprache sie lernen wollen, wenn es etwas ausführlicher geschrieben wäre und vor allem die Fakten auch stimmen würden. Es ist nämlich (IMHO) nicht so, dass C++ automatisch mehr und Visual Basic weniger Schutz vor Reverse Engineering
bietet oder man mit VB überhaupt nicht "ins System eingreifen" kann (Anmerkung: Ich möchte Visual Basic hier nicht verteidigen :P). Auch der Punkt "große/kleine Kontrolle" ist sehr unpräzise, daher würde ich den Artikel vielleicht noch einmal überdenken und ändern bzw. erweitern.

-
th3flood
Hallo,

vb kann mich bis zum kompletten plaintext reverse engineeren. Doch, vb kann nicht direkt ins "system" schreiben. Was denkst du, warm mit VB nur runtime crypter möglich sind?
Das mit dem "schwammigen" habe ich extra gewählt. Ich zitiere mich schnell selbst;)


Dieser Artikel soll nur als Hilfestellung für die Anfänger dienen. Ich werde es nur grob behandeln , sprich einen groben überblick verschaffen und nicht bis ins Detail gehen, da wir dann nicht vom Fleck kommen;)
xpecs: Ja, toll, dafür musst du aber .NET komponenten verwenden.

Naroht: Mit mehr schutz des quellcodes ist gemeint, dass man nicht den ganzen code in den plaintext umwandeln kann. Falls man was aus den dissassemblys gewinnen will, muss man einiges vom handwerk verstehen ;) Ich schreibe nicht ohjne grund in klammern "(reverse engineering)".

Mit kontrolle meine ich, dass es einem sehr wenig versteckt und man relativ viel steuern / beinflussen kann.

Sunrise
15.07.2009, 11:59
vb ist einfach mal hässlich und ist meinermeinung nach nur für den schnellen kleinen erfolg nütze. überhaupt der vergleich zwischen c++ und vb ist eine beleidigung für jeden cpp-programmierer.

zu deinem artikel an sich kann ich leider auch kein sonderlich positives feedback geben. du führst da einfach ein paar schlagworte auf. "Große Kontrolle", was bitte soll denn das heißen?
das ganze ist meiner meinung zu schwammig und ohne jegliches fachwissen.

Denke auch so darüber.

Ich arbeite als programmierer, also sag mir nicht, dass ich kein fachwissen besitze. Hat nix zu sagen, kenne genug leute die als Programmierer arbeiten und keinen Plan hab und den ganzen Tag asp/NET kacke zusammen klicken.
Hast du dich denn schonmal mit VB beschäftigt? Wenn ja würdest du nicht einfach so sachen die nicht stimmen, wie

VB
Negativ: Läuft nur mit .NET Framework oder Mono(auf Linux)
nicht einfach übernehmen.
Klar laufen die neueren Versionen von VB auf .NET, aber für die alten, in der wie ich glaube z.B. PI geproggt ist, braucht man kein .NET. Sonst könnteste auch gleich sagen das C++ nur mit .Net läuft. Dabei ist C++ mit .NET auch wieder ne ganz andere Programmiersprache als C++.

Auch mit C++ lassen sich GUI einfach und schnell zu recht ziehen. Du brauchst einfach nur die richtige IDE die das unterstützt.
Richtig, bei dem VB was du beschreibst, liegt das auch nur an dem ganzen .NET kram das das so einfach ist. wenn du ne alte Version von VB nutzt, ist das auch wieder ne andere Sache. Deswegen heißt das ja auch vb und/oder VB.Net.
Finde auch das der Artikel Fachlich, gerade für jemanden der als Programmierer arbeitet, nicht gerade das gelbe vom Ei ist.

aL1ien
15.07.2009, 12:04
Denke auch so darüber.
Hat nix zu sagen, kenne genug leute die als Programmierer arbeiten und keinen Plan hab und den ganzen Tag asp/NET kacke zusammen klicken.
Hast du dich denn schonmal mit VB beschäftigt? Wenn ja würdest du nicht einfach so sachen die nicht stimmen, wie

nicht einfach übernehmen.
Klar laufen die neueren Versionen von VB auf .NET, aber für die alten, in der wie ich glaube z.B. PI geproggt ist, braucht man kein .NET. Sonst könnteste auch gleich sagen das C++ nur mit .Net läuft. Dabei ist C++ mit .NET auch wieder ne ganz andere Programmiersprache als C++.

Richtig, bei dem VB was du beschreibst, liegt das auch nur an dem ganzen .NET kram das das so einfach ist. wenn du ne alte Version von VB nutzt, ist das auch wieder ne andere Sache. Deswegen heißt das ja auch vb und/oder VB.Net.
Finde auch das der Artikel Fachlich, gerade für jemanden der als Programmierer arbeitet, nicht gerade das gelbe vom Ei ist.
Hallo,
Danke für dein Feedback. Ich habe damals noch mit Vb6 programmiert und kenne mich mit vb im allgemeinen nicht so sehr aus(Darum frage ich ja hier nach feedback). Aber wie schon geschrieben, will ich nicht sehr ins detail gehen. Zudem habe ich auf der arbeit nur mit C++ zutun.

mfG

psyborg
15.07.2009, 12:09
Das Einzige was mir beim lesen aufgefallen ist, die GroSsKlEiN-Schreibung :D

Manchmal beachtest du die deutsche Gramatik, manchmal nicht, verwirrt ein bisschen.
(Will nicht motzen, aber du willst ja wissen was ins Auge sticht xP)

Bei C++ Negativ steht da Folgendes:

» Mehr Schutz des Quellcodes ( reverse engineering )

WTF hat das zu bedeuten?
Schutz ist doch was gutes, ich komm da nicht draus.

Habe noch nie programmiert doch will damit Anfangen und dein Text hat mir wirklich viele Fragen beantwortet, doch es sind auch neue entstanden.

Ev. kannst du ja das noch bisschen vertiefen, Anfängerfreundlicher machen.

naroht
15.07.2009, 12:10
Naroht: Mit mehr schutz des quellcodes ist gemeint, dass man nicht den ganzen code in den plaintext umwandeln kann. Falls man was aus den dissassemblys gewinnen will, muss man einiges vom handwerk verstehen ;) Ich schreibe nicht ohjne grund in klammern "(reverse engineering)".

glaub mit ich weiß was damit gemeint ist. aber unter negativ "mehr sicherheit" zu schreiben ist etwas irreführend. zumal ich der meinung bin das c++ gut kompiliert am schwersten zu decompilieren/disassemblieren ist. aber du kannst mich gerne eines besseren belehren! Wie wärs, ich geb dir ein normal kompiliertes programm und zeigst mir meinen quelltext?

aL1ien
15.07.2009, 12:11
Das Einzige was mir beim lesen aufgefallen ist, die GroSsKlEiN-Schreibung :D

Manchmal beachtest du die deutsche Gramatik, manchmal nicht, verwirrt ein bisschen.
(Will nicht motzen, aber du willst ja wissen was ins Auge sticht xP)

Bei C++ Negativ steht da Folgendes:

» Mehr Schutz des Quellcodes ( reverse engineering )

WTF hat das zu bedeuten?
Schutz ist doch was gutes, ich komm da nicht draus.

Habe noch nie programmiert doch will damit Anfangen und dein Text hat mir wirklich viele Fragen beantwortet, doch es sind auch neue entstanden.

Ev. kannst du ja das noch bisschen vertiefen, Anfängerfreundlicher machen.
Hallo,
Upsala, ja, das sollte unter der rubrik "positiv" stehen. Danke:)

Was hast du denn nicht verstanden das es Anfängerfreundlicher sein sollte? Bzw, was meinst du damit?

Nraoth: Ja, es sollte unter "positiv" stehen ;)

th3flood
15.07.2009, 12:11
Hallo,

vb kann mich bis zum kompletten plaintext reverse engineeren. Doch, vb kann nicht direkt ins "system" schreiben. Was denkst du, warm mit VB nur runtime crypter möglich sind?


Ich hätte dazu einige Fragen:
Visual Basic kann dich bis zum kompletten plaintext disassemblieren?
Wie definierst du "System"? (zu dem "nicht direkt ins system schreiben")
Warum "nur" Runtime Crypter?

aL1ien
15.07.2009, 12:17
Ich hätte dazu einige Fragen:
Visual Basic kann dich bis zum kompletten plaintext disassemblieren?
Wie definierst du "System"? (zu dem "nicht direkt ins system schreiben")
Warum "nur" Runtime Crypter?
http://www.dreamincode.net/forums/showtopic17436.htm

eventuell hilft dir das weiter ;)

Wie geasgt, dieser artikel soll nur die GRUNDLEGENDEN fragen klären! Für einen umfassenden bericht, welchen ich gerade am schreiben bin, hat mir die zeit gefehlt. Dieser handelt dann um die ersten schritte :)

Sawyer
15.07.2009, 12:20
Ich sehe deinen Beitrag ziemlich negativ , zumal man über vermeindliche nachteile bzw voreile streiten kann.


Naroht: Mit mehr schutz des quellcodes ist gemeint, dass man nicht den ganzen code in den plaintext umwandeln kann. Falls man was aus den dissassemblys gewinnen will, muss man einiges vom handwerk verstehen ;) Ich schreibe nicht ohjne grund in klammern "(reverse engineering)".Hast du schon mal was von einem obsfucator gehört ? ergo lässt sich das decompilen verhindern , und somit könnte man diesen Punkt wieder löschen.


Läuft nur auf WindowsFalsch. Auch dank Mono lassen sich .NET Anwendungen für andere Systeme Compilieren und lauffähig machen. Von daher kann man auch getrost diesen negativen Punkt von der Liste streichen.


Läuft nur mit .NET FrameworkEs gibt schon eine Anwendung , die es ermöglicht .NET Anwendungen Portabel zu machen.

Fazit:
Über einige dieser angeblich Negativen Punkte kann man geteilter Meinung sein , zumal einige sich wiederlegen lassen. Der Beitrag ist (nach meinem Eindruck) nicht wirklich unparteiisch geschrieben worden.

MfG

psyborg
15.07.2009, 12:22
aL1en, dein Fehler hab ich ned verstanden.

Nun ists ok...

Was ich mit Anfängerfreundlicher meine, zB ne kurze erklärung was zb Synthax ist (ich hab keinen blassen klar könnete man das googeln).

Auch nicht jeder weiss was ne GUI-Applikation ist :D (das wusste ich phahah)

Reverse engineering, auch kp was das ist.

Verstehst du was ich meine? Vorallem Anfänger haben zT keinen Plan was diese Ausdrücke bedeuten, ein Glossar wäre gut, oder eine kurze Erklärung (in Klammern) hinter dem Wort.

Ev sollte noch irgendwo stehen das VB = VirtualBasic ist.

Danach ists aus meiner Sicht perfecto ;) nice job!

ps: ich werd mich an c++ ranwagen ;>

aL1ien
15.07.2009, 12:23
Ich sehe deinen Beitrag ziemlich negativ , zumal man über vermeindliche nachteile bzw voreile streiten kann.
Hast du schon mal was von einem obsfucator gehört ? ergo lässt sich das decompilen verhindern , und somit könnte man diesen Punkt wieder löschen.

Falsch. Auch dank Mono lassen sich .NET Anwendungen für andere Systeme Compilieren und lauffähig machen. Von daher kann man auch getrost diesen negativen Punkt von der Liste streichen.
Es gibt schon eine Anwendung , die es ermöglicht .NET Anwendungen Portabel zu machen.

Fazit:
Über einige dieser angeblich Negativen Punkte kann man geteilter Meinung sein , zumal einige sich wiederlegen lassen. Der Beitrag ist (nach meinem Eindruck) nicht wirklich unparteiisch geschrieben worden.

MfG
Hallo,
Bezüglich decompilen: Klar lässt sich das verhindern, jedoch gehe ich von dem gesichtspunkt aus, dass keine exterenen tools verwendet werden.
Danke, das bzgl. "MONO" habe ich nicht gewusst. Werde es natürlich sofort bearbeiten.


UND NOCHMALS: Es ist für die einsteiger.Es soll eine KLEINE hilfestellung sein.

ich mit meinem Artikel solche leute wie "psyborg" ansprechen.

th3flood
15.07.2009, 12:24
http://www.dreamincode.net/forums/showtopic17436.htm

eventuell hilft dir das weiter ;)

Wie geasgt, dieser artikel soll nur die GRUNDLEGENDEN fragen klären! Für einen umfassenden bericht, welchen ich gerade am schreiben bin, hat mir die zeit gefehlt. Dieser handelt dann um die ersten schritte :)

Danke fürs Paper, man könnte es sich mal durchlesen. Trotzdem haben meine Fragen nichts mit der Ausführlichkeit des Artikels zutun ;) Naja ich denke diese Diskussion könnte Ewigkeiten weiterlaufen ...

-
th3flood

int_main();
15.07.2009, 12:24
Ev sollte noch irgendwo stehen das VB = VirtualBasic ist.....

visual....^^

aL1ien
15.07.2009, 12:30
Ihr vergesst immer wieder was der ziel dieses artikels ist. Es soll auf _EINFACHE_ weise den neu beginnern klarmachen was sie wollen. Es soll sie zum denken anregen!

@thflood, zum 100mal, es ist extra schlicht gehalten. Ich könnte 10 seiten darüber schreiben, was aber nicht sonderlich viel bringen wird, denn die "neuen" bringt das nicht sonderlich viel.

xpecs
15.07.2009, 12:32
Vielleicht hättest du erstmal denken sollen ;)

aL1ien
15.07.2009, 12:33
Vielleicht hättest du erstmal denken sollen ;)
Wie darf man das verstehen?

xpecs
15.07.2009, 12:35
Was du da geschrieben hast ist nichts halbes und nichts ganzen und ich denke da werden mir auch die Anderen zu stimmen.

aL1ien
15.07.2009, 12:41
Was du da geschrieben hast ist nichts halbes und nichts ganzen und ich denke da werden mir auch die Anderen zu stimmen.
es mag für "experten" so sein. Du hast jedoch gesehen, dass es bereits psyborg geholfen hat und das ist mein Ziel ;)

Blacksummer
15.07.2009, 12:53
Nun melde ich mich auch mal zu Wort. Ich finde diesen Artikel, egal ob er nun für Anfänger ist- oder nicht, Unnötig und manchmal Allgemein Falsch. Es ist schön, dass du dir diese Mühe machst, dann aber bitte Richtig. Die meisten Stellen haben mich zum Schmunzel'n gebracht. An deiner Kompetenz als Programmierer will ich nicht Zweifeln, dennoch Analysiere ich mal deinen "Artikel":



C++

Positiv


Sehr schnell
Grosse Kontrolle
Praktisch alles realisierbar
Maschinennahes Programmieren
Mehr Schutz des Quellcodes ( reverse engineering )


Negativ


Komplex



Zu den Positiven Punkten: Es ist Oberflächlich gehalten, zumal man noch erwähnen sollte das C++ Zeiger besitzt, die große "Stärke" der Sprache, was bei Visual Basic wohl nicht möglich ist (oder Irre ich mich?).

In der Schnelligkeit muss ich dir Wiedersprechen, es kommt ganz auf den Programmierer an, Anwendungen können so "langsam" laufen wie Visual Basic Anwendungen, wenn der Programmierer kaum Ahnung von einer Effizienten Programmierung hat, aber Okay.

Große Kontrolle: Kann man (leider) auch als Nachteil sehen, große Kontrolle bringt viel Verantwortung Mitsich, was dazu führen kann, dass man mal' etwas "kaputt" macht.

Praktisch alles Realisierbar: Falsch, alles ist Realisierbar ( zu den 0,001% kann man Assembler einbinden), nur wie Effizient ist es den? Das ist eine Frage, die man nicht so Leicht beantworten kann. Für Microcontroller Programmierung benutzt man da eher C, oder gleich Assembler.

Maschinennahes Programmieren: Nur halb Richtig, Ansi-C ist noch Hardware näher, so dass man kaum bzw. garnichts Hardware nahes mehr mit C++ programmiert, aber du hast recht, es ist Hardware näher als Visual Basic o.a. .

Der letzte Punkt, dazu kann ich leider nichts Sagen.

Außerdem gäbe es noch den Vorteil-(Vielleicht auch Nachteil, wie man es sieht), das C++ eine Objektorientierte Sprache ist, aber man auch ohne dieses "OOP" programmieren kann.

Nachteile: Falsch, C++ ist nicht Komplex. Nur logisches denken.





VB

Positiv


Schnelles erstellen von GUI-Applikationen
Einfache Synthax


Negativ


Wenig Kontrolle
Sehr langam
Grosser Ressourcenverbrauch
Einfaches reverse engineering (Von einer .exe zum Sourcecode kommen)
Gewisse Einschränkungen (Kann nicht ins System eingreifen)
Wurde von Microsoft entwickelt http://s.wordpress.com/wp-includes/images/smilies/face-wink.png



Postivies: Einfache Syntax ist Subjektiv, ich find' die Syntax von Visual Basic umständlich, vorallem die Variablen zuweisung.

Der erste Punkt ist richtig, aber "schnell" zusammenklicken ist nicht immer Gut.

Negatives: 1,2,3,4 ist Richtig. 5 nur in gewissen maßen. Visual Basic kann sehr wohl in das System eingreifen, aber nur bei Windows.

Naja das wars erstmal.

aL1ien
15.07.2009, 12:58
Nun melde ich mich auch mal zu Wort. Ich finde diesen Artikel, egal ob er nun für Anfänger ist- oder nicht, Unnötig und manchmal Allgemein Falsch. Es ist schön, dass du dir diese Mühe machst, dann aber bitte Richtig. Die meisten Stellen haben mich zum Schmunzel'n gebracht. An deiner Kompetenz als Programmierer will ich nicht Zweifeln, dennoch Analysiere ich mal deinen "Artikel":



Zu den Positiven Punkten: Es ist Oberflächlich gehalten, zumal man noch erwähnen sollte das C++ Zeiger besitzt, die große "Stärke" der Sprache, was bei Visual Basic wohl nicht möglich ist (oder Irre ich mich?).

In der Schnelligkeit muss ich dir Wiedersprechen, es kommt ganz auf den Programmierer an, Anwendungen können so "langsam" laufen wie Visual Basic Anwendungen, wenn der Programmierer kaum Ahnung von einer Effizienten Programmierung hat, aber Okay.

Große Kontrolle: Kann man (leider) auch als Nachteil sehen, große Kontrolle bringt viel Verantwortung Mitsich, was dazu führen kann, dass man mal' etwas "kaputt" macht.

Praktisch alles Realisierbar: Falsch, alles ist Realisierbar ( zu den 0,001% kann man Assembler einbinden), nur wie Effizient ist es den? Das ist eine Frage, die man nicht so Leicht beantworten kann. Für Microcontroller Programmierung benutzt man da eher C, oder gleich Assembler.

Maschinennahes Programmieren: Nur halb Richtig, Ansi-C ist noch Hardware näher, so dass man kaum bzw. garnichts Hardware nahes mehr mit C++ programmiert, aber du hast recht, es ist Hardware näher als Visual Basic o.a. .

Der letzte Punkt, dazu kann ich leider nichts Sagen.

Außerdem gäbe es noch den Vorteil-(Vielleicht auch Nachteil, wie man es sieht), das C++ eine Objektorientierte Sprache ist, aber man auch ohne dieses "OOP" programmieren kann.

Nachteile: Falsch, C++ ist nicht Komplex. Nur logisches denken.




Postivies: Einfache Syntax ist Subjektiv, ich find' die Syntax von Visual Basic umständlich, vorallem die Variablen zuweisung.

Der erste Punkt ist richtig, aber "schnell" zusammenklicken ist nicht immer Gut.

Negatives: 1,2,3,4 ist Richtig. 5 nur in gewissen maßen. Visual Basic kann sehr wohl in das System eingreifen, aber nur bei Windows.

Naja das wars erstmal.
Hallo,
erstmals möchte ich dir für dein feedback danken.

Zum ersten Punkt: Als beginner weiss man noch nciht was zeiger sind = hää effekt. Genau diesen "hää effekt" möchte ich vermeiden.

Zweiter punkt: wenn man zwei programme, eines in vb und eines in C++, welche das gleiche machen, durchlaufen lässt, ist C++ garantiert schneller.

Dem punkt "grosse kontrolle" gebe ich dir recht.

Der rest ist ansichtssache ;)

blackberry
15.07.2009, 13:02
Hast du schon mal was von einem obsfucator gehört ? ergo lässt sich das decompilen verhindern

Ich glaube du weißt nicht was ein Obfuscator ist.
Das Decompilieren lässt sich damit nicht verhindern.

Lediglich der Code unleserlich machen (Variablen/Funktionen/Methoden umbenennen, usw), der Code bleibt jedoch decompilierbar


Auch dank Mono lassen sich .NET Anwendungen für andere Systeme Compilieren und lauffähig machen.

Mono ist weder komplett, noch aktuell, noch von Microsoft anerkannt.
Mono kann also daher maximal als kompromiss und nicht als Lösung angesehen werden.
(vgl. Wine & Windows)


zumal einige sich wiederlegen lassen.

Und zumal sich diese "Wiederlegungen" auch wiederlegen lassen.
Was uns wieder zu den Ausgangsannahmen zurückführt.


Der Beitrag ist (nach meinem Eindruck) nicht wirklich unparteiisch geschrieben worden.

Das mag sein und es ist gut möglich, dass einige Punkte nicht genannt wurden, die eigentlich nennenswert wären.
Als C#/VB Programmierer kannst du aber auch nicht von dir behaupten unvoreingenommen zu sein.

Zumal du C++ scheinbar nie wirklich ausprobiert hast.
(ich weiß in deiner Sig steht, dass du C++ beherrscht, aber ich kann in meine Sig auch viel reinschreiben und wenn du C++ nur rein Syntaktisch beherrscht (sei jetzt mal dahin gestellt) gibt das dir noch lange nicht die Möglichkeit VB und C++ objektiv zu vergleichen)

(PS: ich habe zuerst mit QBASIC, (dann mit HTML und) dann mit Visual Basic (6, 2005) angefangen und ich finde alle Basic Dialekte einfach nur schlecht - obwohl auch ich zugeben muss, dass ich mich nicht sehr lange mit Basic befasst habe, da es mich einfach nicht weiter gebracht hat)

Sawyer
15.07.2009, 13:15
Zumal du C++ scheinbar nie wirklich ausprobiert hast.Wie bitte? 1. wir kennen uns kaum , deshalb darfst du dir auch kein urteil über mich erlauben. Ich habe bereits ein gutes C++ über die hälfte durcharbeitet , also kann man sagen das ich es wohl mehr als ausprobiert habe.

Nur weil ich angefangen habe nebenbei C++ zu Programmieren bzw zu Lernen, heißt das noch lange nicht das ich auch in erster Linie in dieser Technologie Programmieren werde , des weiteren bin ich ein .NET Programmierer und werde es in erster Linie immer bleiben , egal auf welche Technologie ich setze.

Ich sehe für einen Normalen Programmierer in C++ einfach keinen Vorteil , solange man nicht wirklich Hardware nahes Programmieren benötigt , ist .NET die ideale Programmplattform für den Normalen Anwendungsbereich.

Deshalb solltest du deine Worte überdenken und dich etwas zurückhalten , normalerweise bleibt man bei einer Diskussion sachlich , und zweifelt nicht die kompetentz an!

aL1ien
15.07.2009, 13:17
Ich sehe für einen Normalen Programmierer in C++ einfach keinen Vorteil , solange man nicht wirklich Hardware nahes Programmieren benötigt , ist .NET die ideale Programmplattform für den Normalen Anwendungsbereich.

Deshalb solltest du deine Worte überdenken und dich etwas zurückhalten , normalerweise bleibt man bei einer Diskussion sachlich , und zweifelt nicht die kompetentz an!
Ich programmiere mittlerweile etliche jahre C++. Ich habe es nie bereut. Ich habe immer gerne alles unter kontrolle. Unter C++ kansnt du sehr vieles bestimmen, z.b wann objekte gelöscht werden, dies kannst du z.b bei C# nicht. Zudem hast du keine zeiger und es versteckt dir unheimlich viel.
mfG

Sawyer
15.07.2009, 13:19
Unter C++ kansnt du sehr vieles bestimmen, z.b wann objekte gelöscht werden, dies kannst du z.b bei C# nicht. Zudem hast du keine zeiger und es versteckt dir unheimlich viel.

C# hat Zeiger , und ich kann in C# auch bestimmen wann Objekte gelöscht werden , ich kann sogar den garbage collector manuell aufrufen ;)

soviel dazu , informiere dich richtig , bevor du irgendwelche Behauptungen in dem raum wirfst!

aL1ien
15.07.2009, 13:24
C# hat Zeiger , und ich kann in C# auch bestimmen wann Objekte gelöscht werden , ich kann sogar den garbage collector manuell aufrufen ;)

soviel dazu , informiere dich richtig , bevor du irgendwelche Behauptungen in dem raum wirfst!
Natoll, indem du sie als "unsafe" deklarierst? Man muss über umwege gehen um das zu erreichen. Ebenfalls das gleiche mit dem garbage collector.
Zudem hast du etwa 4-6% leistungsabfall gegen über zu C++.
Man hat nicht auf speicherlecks zu achten etc...

Sawyer
15.07.2009, 13:31
Natoll, indem du sie als "unsafe" deklarierst? Man muss über umwege gehen um das zu erreichen. Ebenfalls das gleiche mit dem garbage collector.Das tut Prinzipiell nichts zur Sache , fakt ist es geht.

Ich will nur klar stellen das ich meinen Standpunkt vertreten wollte , und keinesfalls eine Diskussion anfachen will , was aber vermutlich bereits geschehen ist.

Ich finde es nur nicht in Ordnung das man Leute anhand ihrer Meinung Persönlich angreift (siehe Blackberrys Beitrag)

Ich finde es ist relativ egal welche Sprache man verwendet, sie muss in der Lage sein ,das zu verwirklichen was man sich zum ziel gesetzt hat.

Ich bin auch kein Fan von vb , aber man muss die Sprache dennoch nicht runterziehen , und der vergleich zu C++ ist einfach unnötig , denn wir wissen das C++ einfach sehr mächtig ist , was sich nicht abstreiten lässt.

MfG

blackberry
15.07.2009, 13:35
Wie bitte? 1. wir kennen uns kaum , deshalb darfst du dir auch kein urteil über mich erlauben.

Wir sind beide seit dem 7. 2008 registriert und sind uns schon relativ häufig über den Weg gelaufen.
Ich kenne deine Posts und was du so publizierst.

Die Tatsache, dass du in deiner Signatur "Programmiersprachen: [...] C++" stehen hast und hier noch kein einziges Programm in C++ gepostet hast lässt mich darauf schließen, dass du in C++ noch nichts brachbares programmiert hast - demnach also keine große Erfahrung in C++ besitzt.
Du darfst mich gerne korrigieren.


Ich habe bereits ein gutes C++ über die hälfte durcharbeitet , also kann man sagen das ich es wohl mehr als ausprobiert habe.

Und der Teil der hinten steht scheint wohl nicht wichtig zu sein um C++ einschätzen zu können (hinten stehen ja bekanntlich Anwendungsbeispiele drin - welche du in diesem Thread bereits abgeurteilt hast - ohne diese konkret zu kennen).


Ich sehe für einen Normalen Programmierer in C++ einfach keinen Vorteil

Hier sind wir wieder bei zuvoreingenommener Sicht.
Außerdem glaube ich nicht, dass du eigene Treiber schreiben willst, also würde das aus deiner Sicht heraus nicht erklären warum du dich mit C++ abgibst.


PS: ich habe dich nicht persönlich angereifen wollen, sondern nur darauf hingewiesen, dass auch du voreingenommen bist.

aL1ien
15.07.2009, 13:36
Das tut Prinzipiell nichts zur Sache , fakt ist es geht.

Ich will nur klar stellen das ich meinen Standpunkt vertreten wollte , und keinesfalls eine Diskussion anfachen will , was aber vermutlich bereits geschehen ist.

Ich finde es nur nicht in Ordnung das man Leute anhand ihrer Meinung Persönlich angreift (siehe Blackberrys Beitrag)

Ich finde es ist relativ egal welche Sprache man verwendet, sie muss in der Lage sein ,das zu verwirklichen was man sich zum ziel gesetzt hat.

Ich bin auch kein Fan von vb , aber man muss die Sprache dennoch nicht runterziehen , und der vergleich zu C++ ist einfach unnötig , denn wir wissen das C++ einfach sehr mächtig ist , was sich nicht abstreiten lässt.

MfG
Ich habe dem obigen beitrag noch etwas editiert.

Wie oft denn noch, es soll KEIN vergleich sein, sondern eine Referenz.

Das ziel dieses atrikel ist folgender: Man merkt, welcher aufgabenbereich eine Sprache hat und wo man welche sprache einsetzen soll/kann. Es soll nicht dazu da sein, dass man sagen kann, welche sprache die beste ist. Zudem habe ich hier bewusst auf Fachjargon verzichtet, da er ein einsteigerfreundlicher Beitrag werden soll

Sawyer
15.07.2009, 13:44
Und der Teil der hinten steht scheint wohl nicht wichtig zu sein um C++ einschätzen zu können (hinten stehen ja bekanntlich Anwendungsbeispiele drin - welche du in diesem Thread bereits abgeurteilt hast - ohne diese konkret zu kennen).Das habe ich nicht gesagt , jedoch bin ich noch nicht so weit gekommen , ich habe auch noch andere verpflichtungen die ich erledigen muss.


Wir sind beide seit dem 7. 2008 registriert und sind uns schon relativ häufig über den Weg gelaufen.
Ich kenne deine Posts und was du so publizierst.Trotzdem habe ich noch kein einziges wort mit dir privat gewechselt.


Die Tatsache, dass du in deiner Signatur "Programmiersprachen: [...] C++" stehen hast und hier noch kein einziges Programm in C++ gepostet hast lässt mich darauf schließen, dass du in C++ noch nichts brachbares programmiert hast - demnach also keine große Erfahrung in C++ besitzt.
Du darfst mich gerne korrigieren.Seit wann muss man etwas Publizieren , um seine Kompetenz unter beweis zu stellen ?

Auch das wissen an sich sollte angerechnet werden , ich gebe auch zu das ich bisher nur die reinen Sprachgrundlagen durchgearbeitet habe , und noch nicht bei den Bibliotheken angekommen bin , werde es aber nachholen , ich mache grundsätzlich das fertig was ich mir zu ziel gesetzt habe.


PS: ich habe dich nicht persönlich angereifen wollen, sondern nur darauf hingewiesen, dass auch du voreingenommen bist. Nicht direkt , klar mag ich es nicht wen man über .NET herzieht , was leider häufig der Fall ist , ich bin trotzdem offen für neues , genau eshalb wollte ich C++ lernen , da man viel gutes darüber hört , und mich es eben auch interessiert hat.

naroht
15.07.2009, 16:51
Man hat nicht auf speicherlecks zu achten etc...
wo hast du denn das her? blos weil du kein speicher verlieren kannst, heißt das noch nicht, das du darauf nicht achten musst. wenn du noch irgendwelche referenzen irgendwo hast, dann werden objekte vom gc nicht gelöscht. egal, ob die nochmal benutzt werden oder nicht. du kannst demnach sowohl mit c#, als auch mit java speicherfresser fabrizieren. sicherlich ist die gefahr hier nicht so groß, dennoch besteht sie und man sollte IMMER darauf achten!

aL1ien
15.07.2009, 17:12
Vollzitat des Vorposters entfernt - § 2.6 Boardregeln - BlackBerry
Ja, ich hätte es anders formulieren sollen ;). Ich war gerade auf dem anti-c#-tripp ;)

Sunrise
16.07.2009, 21:12
Falsch. Auch dank Mono lassen sich .NET Anwendungen für andere Systeme Compilieren und lauffähig machen. Von daher kann man auch getrost diesen negativen Punkt von der Liste streichen.
Es gibt schon eine Anwendung , die es ermöglicht .NET Anwendungen Portabel zu machen.

Jaja, da kommen wieder die Hatliner die alles irgendwie begründen können umme Ecke, aber all das was du hier erzählst ist noch nicht 100% ausgereift, und auch nicht sinn und zweck von .NET. Daher denke ich ist das kein Argument was die Aussage "Falsch" berechtigt.

Marius196
21.07.2009, 21:06
es mag sein das ich nicht programmieren kann, aber du schreibst den artikel so als wäre vb zeitverschwendung und c++ das non-plus-ultra, jeder hat da zwar seine eigene meinung, aber wenn du etwas für anfänger schreibst solltest du nicht parteiisch schreiben und somit die "anfänger" beeinflussen, sondern nur klare tatsachen nennen, nix gegen dich aber is halt nur n kommentar

aL1ien
23.07.2009, 09:46
es mag sein das ich nicht programmieren kann, aber du schreibst den artikel so als wäre vb zeitverschwendung und c++ das non-plus-ultra, jeder hat da zwar seine eigene meinung, aber wenn du etwas für anfänger schreibst solltest du nicht parteiisch schreiben und somit die "anfänger" beeinflussen, sondern nur klare tatsachen nennen, nix gegen dich aber is halt nur n kommentar
Ich habe alle vorteile und Nachteile aufgelistet, welche ich finden konnte, somit war ich nicht parteiesch und ich habe auch keinen beinflusst.
Diese Fakten sind alles tatsachen und ich habe keine weggelassen!

Wenn du den ganzen Artikel würklich gelesen hättest, wüsstest du das ( statement ftw )