Programmierung für Mac und Windows

Happyhan

Happyhan

Aktives Mitglied
Thread Starter
Dabei seit
06.12.2004
Beiträge
193
Reaktionspunkte
0
Hallo Forum,

durch meine tätigkeit als Admin hab ich schon einige Programmiersprachen "gestreift" von ASP,SQL,PHP,HTML,VB bis Delphi(alles eher Windows lastig :rolleyes: ). Da ich mich jetzt mal intensiver mit Programmieren beschäfitgen möchte und seit kurzem auch ein Ibook mein Eigen nenne möchte ich Euch fragen welche Programmiersprache ich auf dem Mac erlernen kann die mir auch als Windows Admin nützlich ist bzw. mit der ich Anwendungen Programmiern kann die auf beiden Systemen laufen ? :confused:

Danke für Eure Anwort !
 
Am plattformunabhängigsten ist wohl JAVA.

Ich persönlich, bin C++ Fan. Allerdings sind dabei Programme mit grafischer Oberfläche, die plattformunabhängig haben willst schon ein etwas größerer Aufwand.
 
ASP ist keine Programmiersprache...

Auf dem Mac würde sich eigentlich ja Objective C wegen und mit Cocoa anbieten. Die Developer Tools kannst Du bei Apple runterladen. Xcode enthält schon eine recht gute Entwicklungsumgebung, und Du bekommst die gcc mit C, C++, Objective C und dem ganzen anderen Kram dazu.

Wenn's auf beiden laufen soll kannst Du Dir noch Java anschaun. Wenn Dir dann Xcode nicht zusagt bleibt immernoch eclipse, das ist eine ziemlich fortgeschrittene Java IDE, open source. Java-Programme laufen ohne Neukompilieren unter Windows, solange Du nicht irgendwelche Spezialfeatures von Mac OS verwendest. Andersrum gilt das selbe. Also eine Oberfläche am besten mit Swing machen usw.

Oder Du murkst ein wenig mit C++ rum, aber bei den ganzen C-Sprachen wird es sehr schnell inkompatibel.

Objective C und Java sind beide leicht zu erlernen. Das erste halt wie gesagt nur für den Mac sinnvoll, außerhalb benutzt es keiner, außer den GNUstep-Freaks.
 
hallo!

java wegen der Plattformunabhängigkeit ist zwar toll... aber Java ist lahm! Ich würde zwar C++ nehmen und die Routinen sind egal ob für den mac oder pc immer das gleiche.. nur GUI oder Hardware ansteurungs unterscheiden sich.
ich würde sagen, sag usn was du damit machen willst und wir sagen dir ob du java gut dafür nehmen kannst!

Würden sich dabei nicht auch Skriptsprachen wie Python oder Pearl anbieten???
 
java ist verdammt lahm stimmpt...aber ein cocoa programm auf win zu bekommen ist krank..es gehen zwar c++ sachen in cocoa aber eben nicht so richtig
für java könntest du netbeans verwenden! giibt es für alle plattformen und ist eine java entwicklungsumgebung (und lahm)
 
java und qt.
 
Hi,

wie schon von den anderen angesprochen gibt es beim Thema Plattformunabhängig nur eins und das ist Java. (Ich selbst mag Java-Anwendungen nicht besonders, da ich finde, daß sie recht langsam arbeiten.)

Als andere Sprachen kommen (wie auch schon angesprochen) im wesentlichen 3 Sprachen in Frage: C, C++ und Objective C. C (ANSI C) hat den Vorteil, daß es Source-Portabel zwischen den Systemen ist solange man nicht auf das System und die Oberfläche zugreifen muß. Ähnliches gilt für C++. Objective C hat den Nachteil, daß man unter Windows spezielle Compiler braucht, wobei der GCC für Windows sollte es auch tun. Was man jetzt braucht sind Libraries die auf beiden Systemen verfügbar sind. Da wäre zum Beispiel die APR-Library, die Apache-Portable-Runtime-Library. Sie stellte OS-Funktionen zur Verfügung (I/O, File, Prozesse starten/steuern usw.). Programme damit lassen sich ganz leicht auf alle Platformen protieren, auf denen auch der Apache läuft. Für GUI ist mir soetwas z. Zt. nicht bekannt. Vielleicht sollte man sich hier mal das Mozilla-Projekt ansehen, vielleicht gibt es da etwas vergleichbares.

Eine ganz andere Alternative könnte Mono sein. Mono soll die Implementierung des .NET-Frameworks für Linux sein. Es gibt ja auch Linux für PowerPC. Vielleicht ist es möglich mit Hilfe des Mono-Projektes etwas portables zu machen, was auch für das Mac OS funktioniert. Mono hätte wiederum den Vorteil, man kann die Sprache nehmen die man möchte: C, C++, C#, vielleicht sogar Objective C.


Pingu

EDIT: ASP, SQL, PHP, HTML kann man nun wirklich nicht als Sprachen im Sinne von programmieren nennen (Man kann schon in ASP oder PHP programmieren, aber das was ich bisher gesehen habe, z. B. bei phpbuilder.com, ist ehrlich gesagt ein Witz). VB kommt darauf an was man da gemacht hat. Prinzipiell ist es aber auch mehr Klicken als Programmieren.
 
Zuletzt bearbeitet:
dannycool schrieb:
ASP ist keine Programmiersprache...

wie kommst du den da drauf oder verwechselst du das gerade mit .net

Mit Python kannst du auch Plattformunabhängig programmieren. Du kannst damit Scripte schreiben, CGis für ne Homepage oder Apps. Ist also sehr vielseitig und dürfte dir eigentlich keine Probleme bereiten.

Es gibt verschiedene Möglichkeit um mit Python ne GUi zu programmieren. Interessant wäre jetz z.B QT da es für den PC kostenlos ist. Oder z.B Tkinter. Must halt mal suchen, gibt genug Möglichkeiten mit Python.
 
RealBasic Pro würde noch in Frage kommen, ist aber nicht ganz billig und wohl auch nicht besonders beliebt hier... (das erinnert mich ein wenig an Visual Basic für Win -> sehr erfolgreich, aber alle schimpfen nur :))
 
Java ist mittlerweile überhaupt nicht mehr lahm. Nur leider unter OS X. Ob die Schuld da jetzt bei Apple oder Sun zu suchen ist, weiss ich leider nicht. Ich habe vor einigen Monaten ein Java Projekt mit Eclipse unter OS X, Linux und Windows entwickelt und konnte so ganz gut vergleichen.

Leider haben einige externe Bibliotheken auch nur unter Windows vernünftig funktioniert.
 
html ist ja auch keine Programmiersprache ;)
Wenn Du ein eSprche möchtest, die Dir auch als Admin was bringt, dann vielleicht Python oder Perl.

Gruß, nidhoegg
 
Tim99 schrieb:
Java ist mittlerweile überhaupt nicht mehr lahm...
Das finde ich auch. Habe mal in Java eine kleine Numerik Bibliothek geschrieben und war erstaunt das Java so flott ist.
Das einzige was bei Java unter OS X nervt, sind die lamen GUI elemente.
Da könnte noch etwas mehr auf Geschwindigkeit geachtet werden.

Hab neulich aus Spass mal Java3d ausprobiert und war recht beeindruckt wie man damit schon arbeiten kann.

Zudem ist Java eine wirklich hervorragende Sprache, sie hatt alles nicht was bei C++ falsch gemacht worden ist und besitzt einen extrem mächtigen Unterbau.

Gruß Sascha
 
Mauki schrieb:
wie kommst du den da drauf oder verwechselst du das gerade mit .net

ASP ist auch nur ein Framework, Du kannst damit (theoretisch) mehrere Sprachen verwenden.

Und zu Java: Das ist überhaupt nicht langsam. Mac OS X ist vielleicht lahm, und die Java-Runtime für Mac OS 9 war auch lahm. Die Situation hat sich aber ziemlich gebessert. Sicher kann man in C++ schnellere Programme schreiben, aber *ich* kann auf jeden Fall in Java schnellere Programme schreiben als ein Neueinsteiger in C++. Für Anfänger ist der Geschwindigkeitsvergleich also erstmal egal, und mit Java kann man nunmal viel weniger Fehler machen. Ich sag nur "Zeiger" und "Speicherverwaltung"...
 
Hi,

wie meine vorhergehende Autoren schon anregten: Als native, performante Sprache wähle C/C++. Für plattformübergreifende GUIs:
- Qt (http://www.trolltech.com/) kostenlos für Open Source - Projekte
- wxWidgets (http://www.wxwidgets.org/) L-GPL
 
Also meiner Menung nach ist plattformunabhängige Programmierung eher so ein Hype. Man muß sich immer auf den kleinsten gemeinsamen Nenner einigen und das geht immer zu Lasten einer bestimmten Plattform. :rolleyes: Als Außnahme kann man Datenbankprogramme sehen, da diese häufig weniger abhängig vom OS sind und eine für alle Plattformen einheitlich API bieten. Ich kann zB. ein schickes Cocoa Frontend für eine MySQL Datenbank programmieren, wobei es egal ist auf welcher Plattform diese nun tatsäachlich liegt.
Ich wüßte, bis auf das von der Mozilla Organisation benutzte Framework, welches aber stark auf das Internet zugeschintten ist kein Framework, welches auf allen Plattformen gleich performant ist. Vielleicht nähert sich QT4 dem ein wenig an, wer weiß. kopfkratz.
 
Stimmt schon. Aber so wie ich das sehe, ist auch Apple im Endeffekt eher Gegner der Plattformunabhängigkeit. Offenheit wird da gefordert, wo man selbst profitiert. Aber z.B. die iTunes --> iPod Kette muss ja geschlossen bleiben.
 
pdr2002 schrieb:
Also meiner Menung nach ist plattformunabhängige Programmierung eher so ein Hype.

Hi

das ist genau der richtige Hype. Wenn man Anwendungs-Software herstellt, dann will man nicht mehr mit den unterschiedlichen Hardware-Anforderungen kämpfen, sondern will sich ausschliesslich um die Erstellung der Anwendung kümmern. Den Kampf mit der Hardware sollen bitte die Hardware-Hersteller selbst erledigen. Ausserdem sollte es auch egal sein welche "Sprache" ich zum Erstellen von der Software verwende. Daher ist der Ansatz von .Net gar nicht so verkehrt und zB für Python gibt es auch schon diverse Tools, die den Source in C oder Java wandeln. Viel wichtiger ist es, welche Frameworks benutzt werden können.
 
Ich stimme Dir ja voll zu und habe nichts gegen Plattformunabhängigkeit. Ich sage nur, daß zum jetzigen Zeitpunkt eben kein Framework vorhanden ist, welches stabil auf diversen Plattformen läuft. Klar wäre es super, wenn Mono zB. den gleichen Umfang hätte, wie .Net und auf allen Plattformen gleich gut läuft, aber bis dahin ist es halt noch ein weiter Weg. Interessant ist in diesem Zusammenhang auch die Entwicklung von CocoaSharp. -> http://www.lormyr.com/cocoaSharp/default.aspx/CocoaSharp/CocoaSharp.html
Aber wie gesagt es dauert noch. :cool:
 
Hi
Interessanter Link, kannte ich noch nicht thx. :)
 
Zurück
Oben Unten