Eingabefenster
 

Hinweis: Du musst Dich registrieren wenn Du einen Beitrag verfassen willst.
Zum registrieren, klicke hier. Die Registrierung ist kostenlos.


Zitat-Antwort erstellen
Benutzername:
Passwort:
Antwort: Hilfe zum Editor

 
Deine Signatur aus deinem Profil einfügen.
(Email Benachrichtigung, wenn auf das Thema geantwortet wird) (Hilfe)
 
T H E M A     R Ü C K B L I C K
Linne
Hauptthema:
Hi Leute,

ich habe mir vorgenommen mir per Selbststudium eine Programmiersprache anzueignen. Ich suche eine Programmiersprache mit der man relativ schnell grafische Oberflächen erzeugen kann (Visual Basic) aber auch Hardwarenah programmiert werden kann.

Welche Programmiersprachen könntet Ihr empfehlen.

Ich habe bereits im Augenmerk:
C
C++
Visual Basic
C#
Java

Was für eine der Sprachen ist am einfachsten per Selbststudium zu lernen. Ich kenne mich aufgrund meines Berufes und der Ausbildung relativ gut mit Computer aus und habe auch schon ein paar "sehr" kleiner Java - Programme geschrieben...habe allerdings den Faden verloren.

Könntet Ihr außerdem ein paar gute Bücher dazu nennen?

Danke und Grüße
plop
C# is die universellste und aktuell gebräuchlichste...

openbook c#

ganz gutes buch zum thema..
theblade
würde auch sagen C# (c sharp)! hatte damals mal ein bissl angefangen mit büchern und so aber aus zeitmangel wieder aufgehört :-(
stefan323ti
Was verstehst du unter hardwarenah?

Wenn wir da das selbe meinen ist C# nicht wirklich hardwarenah ;)

Aus Erfahrung(ich bin Programmierer) kann ich dir sagen, wenn ne Programmiersprache als weitere Qualifikation für dein Arbeitsleben suchst solltest du dich bei der Entscheidungsfindung auf C# und Java beschränken ;)

Die Vorteile von C# liegen in meinen Augen bei wirklcih einfach Programmierarbeit, den komplexen Hilfen (MSDN), dem Support durch den größen Softwarekonzern der Welt (Microsoft), das leichte Erstellen, selbst von komplexen, Oberflächen, dem relativ reiblungslosen Zusammenspiel mit Windows.
Allerdings sind fürs Visual Studio 2005 oder höher enorme Gebühren für die Lizenz abzudrücken.

Bei Java dagegen kannst dir Entwicklungsumgebungen kostenlos runterladen, es gibt keine Lizenzgebühren, deine Programme laufen auf jedem Betriebssystem für das es eine JavaVM gibt.
Dafür ist die Oberfläche der Programme nicht so "schön anzusehen" und Hilfestellung gibts zum Großteil nru im Internet (was aber nicht so wirklich schlimm ist).

Ansonsten sind sich die beiden Sprachen und auch die Entwicklungsumgebungen (VS2005 und zb Eclipse) "relativ" ähnlich.

Ich selber programmiere momentan in C++, C# und Java.

Wenn du allerdings mit hardwarenah zb das programmieren eine Microprozessors o.ä. meinst, dann solltest dich lieber an C und/oder C++ halten ;)
Linne
Hm, danke schon mal für den Input. Mit der Hardwarenähe bin ich mir noch nicht so ganz sicher, wäre halt in meinem Beruf "Elektrotechnik" mit Industriellen PC's auf alle Fälle vom Vorteil.

So wie ich das sehe wird es wohl doch auf C# hinauslaufen. Gibt es hier nicht die Möglichkeit auf die kostenlose Express Entwicklungsumgebung von Microsoft?
nemexx`
ich würd dir auch cpp empfehlen ist nicht groß anders wie java, nur die synthax
stefan323ti
Ich weiß nicht wie es bei dem Visual Studio 2008 ausschaut.
Das ist ja noch in der Betaphase. Beim 2003er Studio konnte man die Beta kostenlos bekommen und die lief so lange bis die final-Version released wurde.

Aber eigentlich ist es bei den objektorientierten Programmiersprachen egal mit welcher man es lernt, da sich nur die Syntax aber die Grgundlagen der Programmierung nicht großartig unterscheiden.

Also zb jemand der C++ kann, hat auch keine all zu großen Mühen auf C# oder Java umzusteigen. Anfänglich ist natürlich alles erstmal irgendwie anders, aber das legt sich.

Zum lernen vom programmieren allgemein kann ich dir, wenn du magst, per Mail "C++ in 21 Tagen" zuschicken. Damit hab ich auch das Programmieren gelernt.
Und für C++ gibts auch genügend kostenlose Compiler für den Anfang.

Schreib mir einfach mal ne PM ;)
Linne
@stefan323ti, danke für dein Angebot, bei Bedarf komme ich gern darauf zurück :)

Ich will halt relativ schnell grafische Oberflächen in Windows erzeugen können. Zudem wäre es von Vorteil wenn mir die Programmierkenntnis im Bezug auf Office weiterhelfen (Markos usw.) Hier wird aber wohl eher Visual Basic zum Einsatz kommen, oder? Oder ist es auch mit C# realisierbar?
Nicore
Also wenn es wirklich auf IPCs (Industrie-PCs) hinauslaufen
soll dann wird es ja heutzutage weitestgehend an Windows heran-
gehen. Die neueren Modell wie z.B. der "DialoX" arbeiten schon
mit XP. :) Aber der ist erstmal nur eine Ausnahme...

Wenn Du von Grund auf programmieren willst und für jeden Sch****
eine Routine schreiben willst dann empfehle ich C++. Hab für meine
Zwecke damals nur Visual Basic 6 genommen und nach kurzer Versuchsphase
C++ sein lassen. Hab in VB kleine Progrämmchen für mich programmiert,
aber im Grunde auch nur Sachen nachprogrammiert die es im dem Sinne
schon gab (Waveplayer mit Explorerfunktion, CD-Startmenü, Bildbetrachter
mit Explorerfunktion, oder ein Programm für Schreibübungen mit der Tastatur
usw.). Im Prinzip muss man in VB nur die grafische Form aufziehen, Buttons
und Textfelder aufziehen und in der Liste ein paar "Eigenschaften" ändern
und schon hast Du ein halbwegs funktionierendes Programm. :)

Linne
Hi Nicore,

da hast Du schon recht, das geht dann relativ fix mit VB.

Zurück zu den Industrie-PC's, bin hier angestellt und die Einsatzgebiete reichen ja bis Vista. Allerdings sind diese Art von PC's so aufgebaut, dass man über zum Beispiel den I²C Bus, um nur eine Schnittstelle zu nennen, auf die Hardware zugreifen kann. Zudem ist es noch wichtig über serielle oder parallele Schnittstellen externe Hardware anzusteuern. Hier ist wohl wieder eher C oder C++ gefragt, oder?

Bearbeitet von - Linne am 13.03.2008 09:57:53
stefan323ti
Mit Makros hab ich mich noch nicht weiter beschäftigt.

Aber solltest du mal in den "Genuss" kommen dir das Visual Studio 2005 wirst du feststellen, da du damit alles machen kannst was momentan "In" ist.
Webservices, mit ASP.NET Homepages erstellen, Datenbanken designen, "normale" Programme, Add-Ins und und und.

Und relativ leicht und schnell Oberflächen erstellen und mit "Leben" füllen geht auch in C# mit dem Visual Studio sehr gut.
Und durch die "Events" kannst du auch leichter mit den Controls (Knöpfe, Eingabefelder etc) interagieren und arbeiten.

So ist zb ein Programm mit Datenbankanbindung wesentlich schneller erstellt und lauffähig als mit C++, da vieles vereinfacht oder gar automatisiert wurde.
Linne
Hi Leute,

dann müsste ja das genau das richtige sein. Ich weiß zwar nicht in wie weit die Software abgespeckt wurde, allerdings wäre sie kostenlos:

http://www.chip.de/downloads/Visual-Studio-2008-Express_29568152.html

Hat jemand damit Erfahrung?
Nicore
Ist dieses C# weitestgehend mit VB zu vergleichen?
Also sind dises "Events" wie "onClick" oder "onFocus"
usw. vordefiniert? Denn in C++ war das nicht der Fall.

Wenn man von IPCs redet (nicht im Sinne von Desktop-PC),
geht das ja im Maschinenbereich zum großen Teil auch auf
Touchscreens über und über "übliche" Schnittstellen (seriell/
parallel/RS-232) oder halt IPC-Typische zur Bedienung von
NS-Terminals oder SPS über Netzwerke wie Devicenet, Profibus,
Mechatroniklink. Da weiss ich nicht inwiefern da Visual Basic
mit komform geht

Denn was das angeht, gibt es bei diesen Maschinen auch nur
eine Art "Entwicklungsumgebung". Das heisst einen firmeninterne
Software die einem dann ermöglicht Prozesse anzuzeigen, was zu
rechnen oder eine Lampe zum Leuchten bringen sofern die Werte
von z.B. einem Temperatursensor ausgewertet werden. Der "Compiler"
im Hintergrund, der diese firmeninterne Software dann "umgebungs-
tauglich" macht für Windows XP/Viste/CE oder Linux basiert im
Grunde immer irgendwo auf "C".

Es kann sein das Du in der Firma dann wirklich lediglich so ein
Baukastenprogramm hast was aussieht wie Paint und Du dann via
Touchscreen (die eine eigene Programmiersprache mit sich bringen)
die Programme für die Maschinen entwickelst.

Ein Beispiel so einer Software wäre dann z.B. "CX-One" der Firma
OMRON die wir als Seleted Distributor vertreten. :)

EDIT: Achso, um das ganze abzurunden, ich sehe im Moment keinerlei
Notwendigkeit das Du Dich im vorhinein total auf eine Programmier-
sprache festlegst sofern Du nicht weißt womit Du arbeiten musst. :)


Bearbeitet von - Nicore am 13.03.2008 11:56:02
plop
wenn du in der elektrotechnik mit programmen zu tun hast wirds meistens auf c# hinauslaufen...oder halt java...aber da sich die beiden sprachen sehr ähneln is das nich so wild...

ansonsten solltest du dich mal mit step7 und wincc auseinandersetzen..

was die expressversion angeht reicht die vollkommen aus wenn man nicht grade ein gewerblicher programmierr bei einem softwareunternehmen ist...

ich nutze auch die expressversion für die fh....
die vollversion ist dazu auch unverschämt gross

Bearbeitet von - plop am 13.03.2008 12:53:35
Linne
Hm,

also von step7 und wincc habe ich bis dato noch nichts gehört. Die Programmiersprache soll halt schon bebräuchlich sein und ich glaube da habe ich die wichtigsten Sprachen oben schon genannt, oder täusch ich mich da?
plop
also c# is da schon die eierlegende wollmilchsau unter den progsprachen momentan..

"C# greift Konzepte der Programmiersprachen Java, C++, SQL, C sowie der Programmiersprache Delphi auf. C# zählt zu den objektorientierten Programmiersprachen und unterstützt sowohl die Entwicklung von sprachunabhängigen .NET-Komponenten als auch COM-Komponenten für den Gebrauch mit Win32-Applikationen."

step7 und wincc sind halt sprachen für die siemens s7 sps reihe...

ist für den bereich etechnik evtl nicht uninteressant..

wobei die syntax da auch wieder an c# und java angelehnt ist...

step7 für die prozesssteuerung und wincc zur visuellen darstellung und überwachung...
Linne
Danke, dass nenne ich doch mal Informativ :)

So wie es aussieht hat mich das Wort "Eierlegende Wollmilchsau" überzeugt, ich werde mich mit C# versuchen. Am Besten gleich mit der Visual Studio 2008 Version.
stefan323ti
Aber nicht erschrecken wenn vermeintlich kleine Programme recht "groß" von der Dateigröße werden.

Weil da wird sprichwörtlich mit Kanonen auf Spatzen geschossen bei C# ;)
MostWanted
Ich lerne z.zt JAVA und finde sie deutlcih besser als C oder C++. Kommt immer drauf an wie deine anforderungen sind. Java ist halt Objektorientiert, C und C++ nicht.
Linne
Hi,

also soweit ich weiß ist das ein Teil der Unterschied zwischen C und C++ in der objektorientierten Programmierung liegt. C++ ist objektorientert...

Grüße
Markus
c0re
Ich habe meine ersten großen Schritte mit Delphi gemacht. Mittlerweile bin ich bei Assembler gelandet ;) sehr Hardwarenah!
Ich mach alles nur noch mit Assembler (masm), wenn ich ehrlich bin kann ich schon gar kein Delphi mehr. Ich möchte das Arbeiten mit den CPU Registern wie dem Akkumulator-Register (ax) oder dem Basis-Register (bx) nicht mehr missen. ;)

Um Hardwarenah zu programmieren kannst du auch die Low-Level programmiersprache Assembler in eine Hochsprache wie c++ einbinden.

Ich benutze für den objektorientierten Teil RadAsm als IDE für MASM. Somit kann ich Objektorientiert mit Assembler programmieren.

Ich möchte Assembler nicht mehr missen! In dem Sinne,.... xor eax,eax

stefan323ti
Assambler ist schön und gut.
Aber er will auch Oberflächen schnell erzeugen.
Und mit Assambler tippst du dich zu Tode bevor du da was anständiges hast ;)

@MostWanted: C++ ist genauso objektorientiert ;)
Die Sache ist nur, das die Objektorientierung in den letzten Jahren erst stark angewachsen ist, sie nicht in dem Umfang und auf die Art wie heut zu Tage angewendet wurde.
Linne
Hi Leute,

hätte vllt. jemand "C# in 21 Tagen" als Ebook für mich?

Bitte kurz melden!

Danke und Grüße
Markus
plop
der thread ist zwar schon älter, aber evtl sucht ja mal wieder jemand nach nem einfachen einstieg..

habe noch etwas tolles zum thema gefunden..

wer auf video to brain steht sollte hier mal reinschnuppern..

http://www.microsoft.com/germany/msdn/webcasts/serien/msdnwcs-0604-01.mspx

sind 10 teile die pro lerneinheit ca eine std dauern..

ist sehr schön und ausführlich gestaltet...die qualität ist zwar weit entfernt von hd aber es geht trotzdem recht gut...und auf den inhalt kommts ja an..