Hallo Leute,
ich habe von meinem Prof. eine Hausaufgabe bekommen. Ich soll ein paar Dinge über Softwareentwicklungstools herausfinden.
Eine Definition hab ich im Netz gefunden (wikipedia), die verstehe ich aber leider nicht (bin nicht so der Computerspezialist).
Wofür man das braucht weiß ich auch nicht. Hab leider gar keinen Ansatzpunkt für eine Suche.
Und wer solche Software anbietet hab ich auch schon Ansatzweise herausgefunden. Es gibt, soweit ich das verstanden habe 3 "große" Plattformen: Java, .NET und C++. Hersteller von entwicklungstools sind laut meiner Recherche SoftGuide und Linux.
Wäre nett, wenn ihr mir helfen könntet. Brauche nur eine kleine grundsätzliche Einführung. Den Rest suche ich mir selbstverständlich selber zusammen.
Danke im Voraus.
Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge
URL?
... die verstehe ich aber leider nicht (bin nicht so der Computerspezialist).
Ja, ich sehe es.
Wofür man das braucht weiß ich auch nicht.
Um Software zu erstellen.
Es gibt, soweit ich das verstanden habe 3 große Plattf_ormen: Java, .NET und C++.
Das ist falsch. Java, .NET und C++ sind drei Sprachen, mit denen man Software erstellen kann. Es gibt aber eine Ganze Menge davon, z. B. Basic, Pascal, perl, php ...
Hersteller von entwicklungstools sind laut meiner Recherche SoftGuide und Linux.
SoftGuide sagt mir nix, aber Linux ist kein Hersteller, sondern ein Betriebssystem (aka OS). Ein OS kann keine Software entwickeln oder Software anbieten, mit der man Software entwickeln kann.
Wäre nett, wenn ihr mir helfen könntet.
Eine konkrete Frage (z. B. die Aufgabenstellung) wäre hilfreich. Ich habe nämlich keine Lust, beim Urschleim anzufangen.
Ist es denn mit so einem Tool so viel einfacher eine Software zu erstellen?
Java, .NET und C++ sind die 3 gro�en Sprachen, kann man das so sagen?
Wer w�re denn so ein Hersteller von so einem Tool? Hab grad noch Borland gefunden. Wen gibt es da noch?
Danke f�r deine Hilfe T-Rex.
Ja, denn meist sind Hilfe und Dokumentation integriert und mit einem Tastendruck erreichbar. Oder das Tool ist auf eine bestimmte Aufgabe ausgelegt und macht diese zuverlässig. Außerdem wird einem durch so ein Tool einiges an Arbeit abgenommen.
Java, .NET und C++ sind die 3 größten Sprachen, kann man das so sagen?
Nein, kann man nicht, weil es nicht stimmt. Ein Ranking gibt es jedenfalls nicht, das solltest Du also ganz herauslassen.
Wer wäre denn so ein Hersteller von so einem Tool?
Microsoft, Borland, Sun ...
Es gibt jede Menge Firmen, die Softwareentwicklungstools herstellen.
Hi!
Ich finde auch, dass es mehr als Hilfreich wäre, wenn wir genau wüsten worum es geht. Spontan stellt sich mir z.B. die Frage, ob es hier um Grundlagen der Technik geht oder eher um Dinge wie Marktanteile und Bedeutung (für Unternehmen).
Ich kann jetzt einfach etwas hinblubbern (damit hab' ich keine Probleme) um ein paar lsoe Dinge zu den Grundlagen zu schreiben, aber ich weis nicht ob das Sinn macht, ohne den Background zu kennen.
Wir müssten uns aber offensicht schon über ein paar Grundlegende technische Dinge unterhalten (die Softwareentwicklung hat natürlich auch eine technische abstrakte Seite). Es scheint mir hier nicht falsch zus ein, einfach mal ein paar Sätze zu grundlegenden Begriffen loszuwerden.
Tools:
Die Übersetzung ist Hilfmittel oder Werkzeug. Insofern scheint mir "Softwareentwicklungstools" eher ungeschickt zu sein, da es offenbar um die Softwareentwicklung allgemein geht und nicht um konkrete Werkzeuge. Man würde dann von 2Softwareentwicklungsumgebungen" sprechen.
Softwareentwicklungsumgebung:
Damit erstellt man Computerprogramm. Man sollte wissen, das Programme immer für eine spezielle Laufzeitumgebung erzeugt werden. In dieser werden sie dann ausgeführt. Das kann eine speziell auf einen Computertyp udn ein Betriebssystem abgestimmt sein (z.B. Intelx86-PC und dem Betriebsystem Sun Solaris), oder es handelt sich um eine hardwareunabhängige Laufzeitumgebung. Die Sprache Jave nutzt dieses Konzept.
Laufzeitumgebung:
Run-Time-Environment (RTE), die von java haben wir schon genannt. Diese ist wirklich hardwareunabhängig. Es gibt sie für verscheidenste Computertypen und Betriebsysteme. Microsoft hat ein vergleichbares Konzept entwickelt: .NET
Das wundert nicht, da MS mit dem Erfinder von java nicht einig werden konnte und dann natürlich was "eigenes" vorstellen musste, das nun mit viel Geld und Energie in den Markt gedrückt wird. Die Laufzeitumgebung .NET ist bisher offiziell nur für Intel-basierte PCs unter Windows-Betriebssystemen verfügbar (eine Einschränkung im Vergleich zu Java).
Nochmal zu Entwicklungsumgebungen:
Die erzeugen Programme für eine Laufzeitumgebung. Ein Bespiel von MS ist VisualStudio .NET 2005.
Wie schreibt man nun Programm?
Man programmiert. ;-) das bedeutet wir müssen eine Computersprache nutzen. Eine Computersprache ist dabei zuerst eine abstrakte Definition. Beim Programmieren wird nun ein Quelltext eingegeben, den wir dann in ein Programm umwandeln müssen. Das erfolgt durch einen Compiler.
Compiler verstehen eine oder mehrere Computersprachen. Ich trenne das hier, weil klar werden soll, das nur "C++" eine Sprachdefnition ist. Die konkrete Anwenderbarkeit wird erst durch den Compiler bewirkt. Dieser versteht aber i.d.R. "nur" einen besonderen Dialekt der Sprache.
Das sollte man wissen um zu verstehen, dass es verschiedene C++ Compiler gibt, die nicht ebliebig austauschbar sind. Diese Compiler sind ein Kernstück der Entwicklungsumgebung. Neben dem Kompiler werden i.d.R. noch ein Editor (zur Einagbe der Quelltexte), ein Debugger (zur Fehlersuche) und noch diverse Bibliotheken und andere Tools (z.B. zur Erzeugung von Windows-Oberflächen für Programme) dazugehören.
Im Alltag sind Entwicklungsumgebungen Produkte, die verkauft werden. Microsoft hat seine Produkte, Konkurent von MS (z.B. Borland oder IBM) andere. Hier ein paar Beispiele:
- Borland Turbo Pascal 7.0
Das war ein pascalcompiler unter DOS. Die Firma Borland hat den ersten rfolgreichen Compiler auf den Markt gebracht,, der eine echte Enwicklungsumgebung darstellte. Vorher waren das in der Tat alles Einzelprogramme.
- VisualBasic .NET
Eine Programmiersprache, die in VisualStudio.NET genutzt werden aknn. MS verkauft allerdings auch eine einzelne VisualBasic.NET-Version mit kompletter Entwicklungsumgebung.
- VisualC++.NET
ditto, nur wird hier die Sprache C++ als Basis verwendet
- Borland C++ Builder
Eine auf C++ basierende Entwicklungsumgebung für Windows von der Firma Borland.
- Borland Delphi
Eine Entwicklungsumgebung unter Windows der Firma Borland, welche die Computersprache Pascal nutzt. Borland C++ Builder ist eigentlich davon abgeleitet.
- Borland Delphi.NET
Eine Entwicklungsumgebung der Firma Borland, die Programme für die Laufzeitumgebung .NET von MS erzeugt. Hier bietet wirklich ein Konkurent von MS ein Produkt speziell für .NET an.
So, von meiner Seite reicht das erstmal. ;-)
Bis dann
Andreas
Softwareentwicklungtool = Das können theoretisch alle Tools/Programme sein die an der entwicklung von Software beteiligt sind.
Der Begriff Software ist jedoch nicht auf ausführbare Programm beschränkt sondern umfasst alles was zu der Software bzw. zum Entwicklungsprozess dazugehört (also auch Dokumentation oder Hilfetexte)...
Es gibt, soweit ich das verstanden habe 3 große Plattf_ormen:
Du solltest auch umbedingt nochmal die Definition einer Plattf_orm nachlesen. Mit Plattf_orm wird die Gesamtheit eines Systems (Hardware + laufendes OS und Software) definiert. Java und C++ sind zwei Programmiersprachen, .NET ist nur eine Umgebung die prinzipiell mit beliebigen Programmiersprachen genutzt werden kann...
Gruß
Borlander
Danke! Ihr habt mir sehr weitergeholfen. Entschuldigt bitte, dass ich die Frage nicht konkreter gestellt habe!
Ihr habt trotzdem die Dinge für mich erklärt (und für mich sehr ausführlich), die ich benötige.
Ein paar Fragen sind noch offen:
was bringt mir .NET genau, wenn es nicht für eine spezifische Sprach ist (kann es mir trotzdem bei allen Helfen?)?
wofür braucht ein Programmierer soviel Mathematik (ist mir nicht ganz klar, hab mir ein Buch über C++ gekauft, hab aber gleich wieder aufgehört)?
Gibt es Internetseiten, die das alles Grundlegend erklären? Hab schon gegoogelt. Weiß aber leider nicht genau, wonach ich suchen soll, da ich keine Ahnung habe.
Hi!
Bei laufzeitumgebungen wie .NET ist es eigentlich egal in welcher Sprache man die Programme entwicklet.
Inprinzip ist z.B. WindowsXP als Betriebsystem auch eine Laufzeitumgebung für WindowsXP-Programme. Diese Programme können dnan mit verscheidenen Programmiersprachen bzw. Entwicklungsmgebungen erstellt worden sein.
So ganz klar über die zukünftige Bedeutung von .NET bin ich mir auch noch nicht. Die Marktmacht von MS genügt hier um .NET eine Bedeutung zu verschaffen, aber wie man die bewerten soll, weiss ich (noch) nicht.
In der Softwareentwicklung bietet .NET im Moment (aus meiner persönlichen Sicht) den Vorteil, dass man in einer Sprache seiner Wahl progrmamieren kann und dabei dann auf alle unter .NET laufenden Hilfsfunktionen zurückgreifen kann (die müssen dabei nicht in der Sprache geschrieben worden sein, die ich gerade verwende) - Vorsicht, das ists ehr einfach ausgedrückt und beschreibt nur eine Grundidee (und das ist auch nur meine Sichtweise; es gibt in diesen Gebieten zu viele Ausnahmen um das wirklich kurz und richtig erklären zu können).
Diese beliebige Nutzbarkeit über verschiedene Entwicklungssysteme hinweg, ist in meinen Augen eine der Techniken, in der in den letzten Jahren sehr viel Zeit und Energie hineingesteckt wurde. Das hat etwas mit Wartung von Software und dem erleichetren der Weiterverwendung von Softwarekomponenten zu tun.
Die Mathematik ist insofern eine Grundlage in der Programmierung, da der Computer an sich eine Rechenmaschine ist und damit die Mathematik im Blut bzw. in den Stromleitern hat. ;-)
In der Praxis besteht ein Grossteil der Programmentwicklung darin, Vorgaben zu verstehen und konzeptionell so "umzuf_ormen" bzw. "aufzubereiten", dass man sie in ein Programm umsetzen kann. Dabei muss man sich mit Fragen befassen wie "Welche Daten habe ich bzw. welche benötige ich?" und "Wie müssen die Daten verarbeitet/verrechnet werden?" (man muss Prozesse oder Methoden festlegen, wie man die Daten bearbeitet). An dieser Stelle und später bei der Umsetzung der Prozesse bzw. Methoden in die verwendete Programmiersprache spielt dann natürlich auch die Mathematik eine Rolle, da man ja meistens irgendetwas verrechnen muss (zudem erleichtert meiner Meinung nach die "mathematische Denke" auch den Einstieg in die "programmiertechnische Denke" die man lernen muss).
Sorry, eine wirklich gute Seite, die sich mit den Grundlagen der Programmentwicklung im Allgemeinen befasst, kenne ich nicht (ich bin auch bisher noch nicht danach gefragt worden).
Bis dann
Andreas
Eins noch, kennst du ein Buch, das einen dazu gut hinführt? Würde mich privat auch recht interessieren.
Hi!
Ich wünschte ich hätte einen echten Tipp. :-(
Aber das Problem ist einfach, dass ich zulange dabei bin und das was mit sehr geholfen hat, steht bestenfalls noch bei mir im Regal (Sonderhefte des 64er-Magazins ;-) ).
Überhaupt stammt ein Grossteil von meinem Wissen noch aus der "Happy Computer" und dem "64er Magazin" (bedies inzwischen ausgestorben), der Rest ist dann irgendwann von irgendwoher dazugekommen (ein bisschen Inf_ormatikunterricht war auch noch dabei, da kommt meine Vorliebe für Pascal her)...
Was ich vor einiger Zeit mal in den Händen hatte war "Programmieren für Dummies". Davon hatte ein freund vor ein paar Jahren mal das "C++ für Dummies" im Urlaub mit, was mir ganz gut gefallen hat.
Ich denke, dass die Dummie Reihe durchaus brauchbar ist. Vergleichbare andere Serien gibt es natürlich auch. Evtl. lohnt es sich einfach mal eine gutsortierte Buchhandlung zu besuchen und einige Zeit in den Büchern zu stöbern, dass mache ich heute auch noch so, wenn ich ein Buch als Einstiegshilfe in eine (für mich) neue Programmiersprache suche.
Bis dann
Andreas
Alle klar, hast mir sehr geholfen. Hab dank.
Gruß Michi