WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Programm zum c programmieren (http://www.wcm.at/forum/showthread.php?t=188164)

Who-T 29.03.2006 09:10

Zitat:

Original geschrieben von Biri

Aber die Sourcen für ein umfangreicheres Projekt mit einem Texteditor zu programmieren ist einfach ein zu hoher aufwand.

Ich wuerde sagen im gegenteil. Fuer kleine projekte ist eine IDE ok, sobalds wirklich gross wird, schaffts die IDE nicht mehr.

Zitat:


Beispiel: Visual Studio 2005 hat sehr gutes Intellisense - du tippst jeweils nur den Anfang einer Funktion/Klasse/Variable, sofort erscheint eine Auswahlliste - du bist beim eingeben vom Source sehr viel schneller, außerdem ist es ausgeschlossen, das man sich vertippt.

Das ist eine persoenliche einstellung von mir aber ich persoenlich finde auto-completion als unsinnig. man lernt dadurch nicht programmieren sondern raten. Ist mir aufgefallen als ich nach jahren JBuilder ohne auto-completion praktisch nicht programmieren konnte. ohne auto-completion muss man API specs lesen und das ist sehr hilfreich. vor allem weil man dadurch spezialfaelle erkennt und andere methoden findet die aehnliches tun.

syntaxueberpruefung ist hilfreich, das geb ich zu. hat mein editor leider net. go to definition geht z.b. mit ctags (fuer C und C++).

Zitat:


ad unflexibel: Was kannst du mit dem texteditor machen, dass mit der ide nicht funktioniert?

wie gesagt, bei wirklich grossen projekten gibt die IDE auf.

Zitat:


Man sollte auch mit Texteditor ein Programm schreiben können - aber wichtiger: man sollte sich bei der arbeit einem Werkzeug bedienen, mit dem man effizient arbeiten kann.
Anders gesagt: Du kannst einen Baum mit einer Motorsäge in 3 Minuten umschneiden oder mit einer Handsäge in 1 Stunde.
Welche Möglichkeit wirst du wählen, wenn es darum geht, in kurzer Zeit viele Bäume umzuschneiden? ;)

ja, allerdings ist die auffassung des effizienten werkzeuges halt per person unterschiedlich.
wie gesagt, meine persoenliche einstellung in meinem arbeitsbereich.

Biri 29.03.2006 14:32

hi,

ui, ich hoffe, das wird jetzt keine endlosdiskussion - grundsätzlich: jedem das seine - wenn du mit notepad schneller programmieren kannst, spricht ja nix dagegen, es zu verwenden. ;)

Zitat:

Fuer kleine projekte ist eine IDE ok, sobalds wirklich gross wird, schaffts die IDE nicht mehr
Was verstehst du unter "wirklich groß"?
Ich verstehe darunter mehrere Projekte, die miteinander verwendet werden und aus insgesammt > 1000 files bestehen.
Was soll die IDE da nicht mehr schaffen?
Die Entwickler von #develop schrieben "eat your own dogfood" - soll heißen: verwend deine eigene ide zum weiterprogrammieren der ide, was sie gemacht haben. Wenn das eh alles keiner braucht, warum dann den aufwand treiben?

Btw. wie debuggst du eigentlich im notepad? (steht stellvertratend für andere plain-text editoren)
Wie erzeugst du ein GUI?
Gibst du position, size und restliche eigenschaften der GUI Elemente als Text an?
Geht natürlich, aber ob man nicht mit einem grafischen Designer schneller ist, hmm?

Zitat:

persoenlich finde auto-completion als unsinnig. man lernt dadurch nicht programmieren sondern raten
Es ist auch nicht zum Programmieren lernen gedacht, sondern für leute, die bereits programmieren können, damit sie schneller dabei sind.
Z.B.: Implementerung der Methoden eines Interfaces - Interface hat 10 Methoden.
a) Alle 10 Methoden nochmal abtippen um das Interface zu implementieren (dauert 5 MInuten)
b) Klicken auf Klasse, die Interface implementiert - Auswahl von "implement interface" in Combobox (Ergebnis gleich, dauert 5 Sekunden)

fg
-hannes

ps: ist nicht als persönlicher angriff zu werten, sondern ebenfalls meine persönliche einstellung.

kikakater 29.03.2006 19:40

Erklärungsbedarf sollte minimiert werden, der zeitliche Aufwand für wiederkehrende Tätigkeiten ebenso, das spricht u.a. für ein Framework.

Es geht aber auch um Antipathie bei Programmierumgebungen und um "vergangene" Konzepte wie z.B. proprietäre Codeanbauten, die nur dem Monopolsichern dienen.

Microsoft erlebt gerade wieder sein Waterloo, weil nicht auf Standards und nicht auf Offenheit geachtet wird. Dann muß wieder etwas "völlig Neues" her. Dementsprechend ist das Ganze als Flickschusterei nur mehr zu bezeichnen.

Frameworks, die von kommerziellen Firmen kommen und auf Codeanbauten zurückgreifen, sind mit vielen Nachteilen ausgestattet.

Freie Entwicklungsumgebungen haben diese Nachteile nicht so sehr, WENN es - ebenso freie - APIs gibt.

Wer beides haben will, muss freie APIs verwenden sowie programmieren und je Betriebssystem eigene Wrapperfunktionen einsetzen - DER Köngisweg zu fundiertem Handwerk und Effektivität anstatt Spezialsoftware für jedes System zu schaffen oder ein Programm reprogrammieren zu müssen für einen Einsatz auf unterschiedlichen Betriebssystemen.

Und wenn man diese Strategie wählt, kann man auch ein Framework verwenden, das einem nicht so sympathisch ist.

Damit zeigt sich dann auch der Einsatz und Nutzen in Bezug auf proprietäre Quellprogramme - nämlich deutlich eingeschränkt.

Ich glaube, das hat Who-T gemeint.

Visual Studio beispielsweise ist keine klassische IDE (wurde früher auch [GUI] Shell genannt), sondern ein Framework, das mehr interaktive Funktionen im Programmeditor selbst realisiert, sowie Browser-, Listen- und Baumstrukturfenster in der Hauptfensteransicht ständig optional abschaltbar integriert.

Im Wesentlichen stellt sich die Grundfrage sinnvollerweise als geschmacks- und einsatzorientiert dar.

Generell sind IDEs wie beispielsweise Visual Studio und Borland C++ Builder aus Gründen der Umständlichkeit - eben weil sie doch W.O. geben, wenn der Code umfangreicher wird, und auch wenn anderes als proprietäres Prozedere gefragt ist - unsympathisch hoch drei und daher der Einsatz dieser Werkzeuge zu minimieren oder zu instrumentalisieren, indem man keinen ROOT Microsoftcode schreibt, sondern eine freie API, die auf für Microsoft oder andere Betriebssysteme umhüllten Code zurückgreift (=auf eine solche Struktur aufbaut) MIT STANDARDISIERTEN Funktionsschnittstellen.

xandl33 29.03.2006 20:27

bloodshed c++ is auch zu empfehlen

kikakater 29.03.2006 20:43

Für C Code: LCC Win32 (den "OK" Button anklicken für die eigentliche Seite)

Für CPP Code: Bloodshed C++

Who-T 30.03.2006 00:53

Zitat:

Original geschrieben von Biri

ui, ich hoffe, das wird jetzt keine endlosdiskussion

woohoo. flamewar! :D

Zitat:


Was verstehst du unter "wirklich groß"?

uhm. ungefaehre anzahl an source + header files is 7000, angeblich um die 15 mio LOC. Viel spass das alles in eine IDE zu laden...
ein vollstaendiger build dauert mehrere stunden. durch den aufruf von bestimmten makefiles + targets kann ich meine veraenderungen innerhalb von wenigen minuten dazukomplieren. das waer mit einer IDE schwerer.

Zitat:


Btw. wie debuggst du eigentlich im notepad? (steht stellvertratend für andere plain-text editoren)

gdb. nicht grafisch aber gut.
ich benutze vim, andere leute emacs. hat einige funktionen die sehr nuetzlich sind, definitive die einstiegshuerde wert.

Zitat:


Wie erzeugst du ein GUI?

brauch ich fast nie. wie gesagt, mein zeugsl ist ein spezialfall. wenn ich mal eine brauch mach ich es per hand, weil es nie umfangreich ist.
fuer GUIs sind designertools natuerlich besser. wenn sie funktionieren ;)

Zitat:


Es ist auch nicht zum Programmieren lernen gedacht, sondern für leute, die bereits programmieren können, damit sie schneller dabei sind.
Z.B.: Implementerung der Methoden eines Interfaces - Interface hat 10 Methoden.
a) Alle 10 Methoden nochmal abtippen um das Interface zu implementieren (dauert 5 MInuten)
b) Klicken auf Klasse, die Interface implementiert - Auswahl von "implement interface" in Combobox (Ergebnis gleich, dauert 5 Sekunden)

wann hoert man schon damit auf programmieren zu lernen... :)
interfaces sind Java (bzw C# glaub ich auch). originalfrage war fuer C. manche der funktionen von eclipse (die von dir erwaehnte autoimplementierung) sind nuetzlich, allerdings stark auf Java beschraenkt. gibts uebrigens als plugin fuer vim IMHO.


@kikakater.
ist nicht genau was ich gemeint hab aber ein interessanter punkt.

kikakater 30.03.2006 13:56

Du nimmst mir die Worte aus dem Mund. :-)

Ich wollte nur einen weiteren Aspekt hinsichtlich mangelnder Eignung diverser IDEs aufzeigen und Deine Einstellung zum Thema in mein Posting authentisch einfliessen lassen.

Biri 30.03.2006 14:14

hi,

Zitat:

ein vollstaendiger build dauert mehrere stunden. durch den aufruf von bestimmten makefiles + targets kann ich meine veraenderungen innerhalb von wenigen minuten dazukomplieren. das waer mit einer IDE schwerer
das nennt sich incremental build und sollte die ide hoffentlich per default machen, kann man aber sicher einstellen.
was andres is, wenn ich von irgendwo sourcecode herbekommen - dann will ich natürlich schon, dass ein make-file dabei ist und ich keine ev. ide spezifische projektstruktur brauche um das zeug zu kompilieren.

Zitat:

ich benutze vim, andere leute emacsgdb. nicht grafisch aber gut.
vi is bei mir schon länger her.
war zu seiner zeit gut - inzwischen ist mir aber der editor vom studio lieber.

Zitat:

GUI brauch ich fast nie. wie gesagt, mein zeugsl ist ein spezialfall. wenn ich mal eine brauch mach ich es per hand, weil es nie umfangreich ist.
tja, hier liegt dann wohl ein wesentlicher unterschied. Bei den sachen, die ich programmiert hab, hat es schon auch immer ein GUI geben müssen.

Zitat:

wann hoert man schon damit auf programmieren zu lernen... :)
o.k. -> full ack.

Zitat:

Visual Studio beispielsweise ist keine klassische IDE (wurde früher auch [GUI] Shell genannt), sondern ein Framework
Visual Studio ist mit Sicherheit KEIN Framework.
was zum lesen: http://de.wikipedia.org/wiki/Framework

fg
hannes

kikakater 30.03.2006 15:14

Ich habe den gängigen Begriff IDE + dazugehörige Codebibliotheken gemeint - beispielsweise die Kombination aus Code (NET) und Visual Studio. Deswegen sollten proprietäre Codeanbauten vulgo proprietärer Code (z.B. NET Framework) nicht verwendet werden, weil das Nachteile hat. Wenn es gemacht wird, dann nur mit Wrapperfunktionen bzw. aufbauenden Klassen (eben Whitebox oder Blackbox APIs aber portabel, nicht proprietär).

Das bezieht sich allgemein auf Frameworks (Visual Studio, Borland C++ Builder, Delphi), die alle mit proprietären Funktions- und Klassensammlungen daherkommen.

Geht es noch babylonischer als so etwas zu forcieren ?

kikakater 30.03.2006 15:18

Der Königsweg: Der Entzug des eigentlichen Stammzweigs proprietären Codes durch standardisierte Schnittstellen. Somit ist NET und auch anderes unter Kontrolle gebracht.


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag