Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Welche Programmiersprache?

Frage Entwicklung

Mitglied: theRayen

theRayen (Level 1) - Jetzt verbinden

19.06.2010 um 17:03 Uhr, 7144 Aufrufe, 13 Kommentare

Erst mal ein freundliches "Hallo" an alle hier im Forum.

Hallo,
Ich stehe momentan vor einer Frage vor der jeder Programmierer irgentwann einmal gestanden ist :
"Welche Programmiersprache soll ich lernen?". Ich habe mich zwar schon seit längerer Zeit im
Internet über die verschiedensten Programmiersprachen informiert aber ich blicke bis jetzt noch nicht
wirklich durch dieses riesige Wirwar an verschiedenen Sprachen, Programmen... .
Bis jetzt kenne ich mich eigentlich nur mit den zwei Scriptsprachen Batch und VBscript aus, mit deren
Hilfe ich mir schon so einige nützliche kleine Programme geschrieben habe. Doch jetzt würde ich mich
gerne mit einer richtigen Programmiersprache auseinandersetzen.
Ich möchte mich aber auch nocht nicht wirklich auf einen bestimmten anwendungs Bereich festlegen,
da ich mir noch eine Weile alle Möglichkeiten offen halten möchte.
Deshalb würde ich gerne wissen ob ihr mir vileicht eine Sprache ( + programm) empfehlen könnt, mit
der ich einen guten Einstieg in`s "richtige" Programmieren bekomme.

Danke schon mal im Vorraus für eure Hilfe,

the Rayen
Mitglied: wiesi200
19.06.2010 um 17:24 Uhr
Das Problem ist aber das du dich zuerst mal auf irgendeine Richtung festlegen solltest.
Denn jede Programmiersprache hat seine stärken und schwächen.
Bitte warten ..
Mitglied: theRayen
19.06.2010 um 17:32 Uhr
Danke für die schnelle Antwort
Wenn ich es mir genau überlege würde es mir für den Anfang reichen, wenn
ich mit der Sprache einfache Programme für Windows schreiben könnte.
Also keine Spiele oder Webanwendungen.

Ist das genau genug?

theRayen
Bitte warten ..
Mitglied: wiesi200
19.06.2010 um 17:39 Uhr
Dann würd ich auf Visual Basic oder C# gehen.
Dazu gibt's von Microsoft die Visual Studio Express Edition's

Sicher gibt's aber auch andere Meinungen dazu
Bitte warten ..
Mitglied: theRayen
19.06.2010 um 18:29 Uhr
Ist Visual Basic nicht kostenpflchtig?
Habe vergessen zu erwähnen, dass
die Sprache+Programm kostenlos sein sollte.

the Rayen
Bitte warten ..
Mitglied: bastla
19.06.2010 um 18:42 Uhr
Hallo theRayen und willkommen im Forum!
Ist Visual Basic nicht kostenpflchtig?
Nicht in der von wiesi200 vorgeschlagenen Express Edition ...

Grüße
bastla
Bitte warten ..
Mitglied: wiesi200
19.06.2010 um 18:45 Uhr
Die Express Version ist kostenlos.

Wobei es auch ohne Visual Studio ginge
Bitte warten ..
Mitglied: MisterExpulso
19.06.2010 um 19:00 Uhr
Hier ein Download-Link für C# Express und VB Express: http://www.microsoft.com/germany/express/products/windows.aspx
Bitte warten ..
Mitglied: theRayen
19.06.2010 um 19:06 Uhr
Danke für den Link DGzRsBorkum. Ich werde mir jetzt Visual Basic herunterladen.
Kennt ihr gute Internetseiten oder tutorial`s über VB.

theRayen
Bitte warten ..
Mitglied: MisterExpulso
19.06.2010 um 19:11 Uhr
Im Kanal von Sempervideo gibt es einige Tutorials zu VB. Einfach mal nach VB suchen. Oder aber auch das hier ist nicht schlecht.
Bitte warten ..
Mitglied: theRayen
19.06.2010 um 19:22 Uhr
Nochmal danke an alle die mir so schnell geantwortet haben.
Ihr wart mir echt eine gute Hilfe
Ich glaube der Treat kann geschlossen werden...

theRayen
Bitte warten ..
Mitglied: maretz
19.06.2010 um 19:31 Uhr
Moin,

ich möchte das jetzt erstmal auf ein anderes Level bringen. Ich behaupte nämlich das es egal ist welche Sprache du lernst. Wichtig ist erstmal sich für eine Sprachfamilie zu entscheiden. Grob unterscheide ich mal 4 Klassen:

a) Assambler. Sehr hardwarenah. Hier programmierst du dann wirklich in Maschinenbefehlen. Wird heute in sonderfällen noch eingesetzt - aber für Windows-Anwendungen recht ungeeignet.

b) Script-/Beschreibungssprachen: HTML, PHP,... Hier hast du eine rel. einfache Einstiegsmöglichkeit. Ist für Anwendungen zwar eher ungeeignet aber die Grundlagen der Programmierung lernt man auch mit PHP schon ganz gut. Ebenfalls gibt es genug Hilfe im Web.

c) Hochsprachen: Java, C++, Visual ... Sind natürlich für Anwendungen geeignet - allerdings für Anfänger manchmal recht frustrierend zum Anfang. Denn der Compiler kotzt einen zimlich was vor die Füße.

d) KI-Sprachen (Prolog u.ä.): Kann man lustige Dinge mit machen - aber ich finde das die schon zimlich Pervers sind ;).

So - bevor du dich jetzt hinsetzt und sagst: Hey, ich werde Programmierer! würde ich mal empfehlen das du dich damit auseinander setzt wie ein Programm entsteht. Denn Programmieren kann ich nem Affen beibringen - GUT zu Programmieren ist dagegen schwer. Denn dann schreibt man nicht nur 08/15 den Quellcode - sondern guckt wie man das richtig machen kann... Sei es mit Stichworten "Objekt- vs. Funktionsorientiert", sei es mit "Schnittstellen für die Codewiederverwendung" usw.. Ich mache das mal mit nem Beispiel deutlich: Du schreibst ein Programm welches aufgrund eines eingegebenen Wertes eine komplexe Berechnung durchführt. Klar - Editor geöffnet, Code reingehackt und fertig. Alle Glücklich. 2 Wochen Arbeit (davon 1 Woche Planung, 3 Tage Programmierung und 2 Tage Test) den Kunden in Rechnung gestellt - Kohle kommt. Nach 4 Wochen kommt Kunde 2 - und braucht ein Prog welches nahezu dasselbe berechnet. Ohne Wiederverwendung: 3 Tage Planung, 3 Tage Programmierung, 2 Tage Test. Wenn du aber den Code 1 jetzt gut geschrieben hast dann kannst du Teile davon wiederverwenden - und schon kommst du ggf. auf 3 Tage Planung, 1,5 Tage Programmierung, 1,5 Tage Test (du hast den Code ja schon getestet - also brauchst du den Teil nicht erneut machen).

Wenn du diese Dinge dann hast dann kannst du dich mit der eigentlichen Sprache auseinandersetzen. Dabei würde ich heute auf Java oder C++ setzen. Vorteil: Man kann ne ganze Menge damit machen - und wenn man diese Sprachen kennt kann man auch schnell auf andere Sprachen wechseln (die in dieselbe Familie gehören). Dabei lohnt es sich dann wenn man auch für kleine Übungsdinge sich die Planung antut - zum einen eben FÜR die Übung und zum anderen sieht man schnell wieviel Aufwand da wirklich hinter steckt. Es bringt ja wenig wenn du heute auf die Idee kommst "Ich schreib nen Warenwirtschaftssystem" - aber keine Ahnung hast wie nen Auftrag überhaupt auszusehen hat. D.h. hier brauchst du dann auch konkrete Ideen WAS du programmieren willst. Dann kann man sich auch überlegen mit welcher Sprache das genau geht. Nehmen wir an du nimmst ne Hochsprache und ne Anwendung dann kannst du nahezu alle Anwendungen in nahezu jeder Hochsprache schreiben. Nur: Mit einer Sprache kommst du schneller als mit ner anderen zum Ziel. Möchtest du z.B. Plattformunabhängigen Code schreiben ist das mit Java leichter als mit C++. Liegt einfach daran das du bei Java die JVM hast die auf der Ziel-Plattform das ganze für dich übersetzt - (fast) egal ob nun PC, MAC, Mobiltelefon oder was auch immer. Aber diese Stärke ist auch gleichzeitig die große Schwäche: Einen direkten Zugriff auf die Hardware wirst du mit Java eher schlecht bekommen - mit Java auf den COM-Port zuzugreiffen ist zimlich pervers. Möchtest du also hochperformanten Code schreiben dann bringt Java eher wenig - bei C++ kann ich den Compiler noch etwas helfen und bei der Übersetzung auf die Maschine anpassen - bei Java macht es wenig sinn weil die JVM ggf. nicht optimal läuft. Und jetzt werde ich doch nochmal ganz pervers: Nehmen wir an du möchtest eine eigene CPU bauen. Hier kannst du zwar Java nutzen (ich glaub die ARM-Cpus haben ne JVM direkt auf dem Chip) aber dann müsstest du immernoch eine spezielle CPU nehmen. Wenn du nur nen FPGA programmieren möchtest dann kannst du das in VHDL tun - und dort definieren wieviel Cache du ausgibst, welche Befehle du unterstützen willst usw... Da merkt man dann warum es schwer ist wenn man von einer der o.g. Klassen in eine andere wechselt - VHDL wäre eher im Bereich Assambler anzusehen und hat mit einer normalen Hochsprache nur sehr wenig zu tun...

Du siehst - welche Sprache ist nicht so einfach zu beantworten. Es gibt ne ganze Menge sprachen -und fast alle haben ihre Berechtigung. Mal für Sonderfälle (z.B. Assambler), mal sind die für alles mögliche da. Es ist aber nicht so wichtig welche Sprache du lernst - da die alle ne gewisse Ähnlichkeit haben. Ob du nun in Java
for (int i=0; i<500;i++) {...}
schreibst oder das in ner anderen Sprache ist egal. Das sieht in Java so aus, in C++ siehts so aus und in VBA siehts so oder ähnlich auch aus. Möchtest du ne Ausgabe machen kannst du in Java
System.out.println("xyz");
machen... In C++ wäre es dann halt nen cout oder printf. Nen anderer Befehl - aber wenn man den Ablauf des Progammierens verstanden hat ist das auch kein Thema. Das ist dann wie bei normalen Sprachen: Wenn du die Grammatik verstanden hast sind die Worte leicht zu lernen. Verstehst du aber die Grammatik überhaupt nicht dann kannst du zwar die Wörter einer Sprache lernen - raus kommt dann aber "Ich möchte diesen Teppich nicht kaufen....". Der Unterschied: In der Werbung bekommst dafür trotzdem das gewünschte Bier - beim Rechner kotzt der Compiler dir erstmal Seitenweise Fehlermeldungen aus...
Bitte warten ..
Mitglied: CadelPigott
21.06.2010 um 09:51 Uhr
Hallo TheRayen,

ich möchte deine Wahl programmieren zu lernen nicht in Frage stellen.
Trotzdem frage ich mich welche Programme du erstellen möchtest die die Welt noch nicht gesehen hat. Für komplexere Probleme gibt es meistens professionelle Lösungen an denen ein ganzes Heer an Programmierern arbeitet.

Ohne deinen Enthusiasmus bremsen zu wollen, behaupte ich, dass du da nur schwer mithalten kannst
Für kleinere Anwendungen scheint mir die Anwendung von Hochsprachen (wie es mein Vorredner so schön nannte) für übertrieben.
Ich persönlich beherrsche zwar einigermaßen C++ aber hab´s in meiner beruflichen Laufbahn eher selten gebraucht.

Für die oben genannten "kleineren Anwendungen" habe ich AutoIT für mich entdeckt.
Es ist zwar nur eine "perverse Scriptsprache", kann aber alles was man für den Alltag benötigt. Datenbanken, DLL´s, .....

Gruß
Cadel
Bitte warten ..
Mitglied: maretz
21.06.2010 um 11:58 Uhr
@Cadel:

Sorry - das sehe ich komplet anders. Ich programmiere für meine Firma nahezu jeden Tag - das sind dann "kleine" Anwendungen die eben die tägliche Arbeit erleichtern. Z.B. ein Fahrplanmodul oder nen Ratenblatt. Klar - kann man auch alles in Excel machen. Aber mit ner DB im Hintergrund können auch andere Büros darauf zugreiffen. Und natürlich könnte man sich sowas auch immer zukaufen. Aber: Dann hast du nen Standard-Produkt welches zu 70% passt und die anderen 30% nicht kann. Beim selber bauen hast du ein Produkt welches zu 100% passt und ggf. auch noch erweiterbar ist.

Weiterhin hast du es bei nem eigenem Programm selbst in der Hand was du machen willst und wie das mit anderen Dingen zusammenspielt. Bei deinen "professionellen Lösungen" hast du dagegen das Problem das Software A leider den Export in SW B nicht zulässt und schon wieder eine Person vorm Bildschirm die Daten manuell von A nach B bringt. Nehmen wir nur mal ein simples Beispiel: Du möchtest auf deiner Webseite die Ansprechpartner der Firma veröffentlichen. Entweder holst du dir hier wieder eine komplexe Lösung ins Haus die wieder einzeln manuell gepflegt werden muss - oder du verbindest das gleich mit der User-DB deiner Anwendung die du selbst schreibst. Schon aktuallisiert sich die Webseite ganz automatisch wenn du nen User anlegst oder löscht. Nun - kennst du eine Prof. Software zum Arbeiten die gleich eine solche Anbindung realisiert? Das PHP-Script zum Auslesen der User ist mal grad nen paar Zeilen lang - aber ne gekaufte Anwendungs-SW hat selten das Feature das du ein Bild hochladen kannst.

Und was das "nur schwer mithalten" betrifft: Sorry, auch das Systemhaus kocht nur mit Wasser. Warum sollte man da so nicht mithalten können? Klar - ein komplexes Programm selbst schreiben kostet sehr viel Zeit - keine Frage. Hier kann es auch Sinn machen das man sich was kauft. Aber grad kleine "Hilfsprogramme" kann man recht schnell bauen - und je nachdem was man da alles hat dann sinnvoll verbinden. Z.B. o.g. User-DB kann man mit ner EDV-Verwaltung gut verbinden. Schon weiss ich mit einem Klick welcher User welchen PC hat, wann der gekauft wurde und welche Ausstattung der hat. Nun - mehr Optionen? Nehmen wir mal "just for fun" an du hast eine Telefonanlage wie die Asterisk. Dort kannst du via Management-Interface problemlos Anrufe initiieren. Ich weiss welcher User grad angemeldet ist, wenn man eine kleine Kunden-DB zur Verfügung hat kann man auswählen wen man anrufen will (d.h. ich hab auch die Tel-Nr) -> also kann ich den Anruf aufbauen. Auch da hast du wieder ein Problem bei fertiger SW: Welche kann das? Eher weniger -> und noch unwahrscheinlicher ist es das die SW dann die Kunden-DB genauso hat wie ich die brauche...

Also von daher würde ich nicht sagen das Programmierkenntnisse unnötig sind oder man da nicht viel mit machen kann. Klar - wenn man nicht will ist das kein Ding. Aber wenn man die ersten 1-2 Anwendungen für die Firma geschrieben hat und die Kollegen plötzlich merken das es auch komfortabler als mit Excel und Co. geht dann sind diese kenntnisse schnell ganz hoch auf der "gefragt-Liste"...
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (10)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...