Horizont erweitern, neue Sprache, welche?
-
Dazu sollte ich sagen das sich meine Mathematik Kenntnisse in grenzen halten -.-
-
CSL schrieb:
Dazu sollte ich sagen das sich meine Mathematik Kenntnisse in grenzen halten -.-
Sei froh, dann bereichert es dich in zweierlei, allerdings musst du keine Gleichungen selbst lösen, dass macht der Rechner für dich.
Haskell, Clojure (Scheme-Dialekt), Scala (nicht pure, besser nicht zum Lernen verwenden) sind subjektiv die Meist genannten hier.
-
Was haltet ihr von F#?
-
F# wäre insofern gut, da du natürlich schon .NET kennst. Dadurch kannst du dich in Ruhe auf die Sprache konzentrieren und gleich das Framework sinnvoll einsetzen. F# ist halt recht neu, was Vor- und Nachteile hat. Wenn du VS benutzt (wovon ich schwer ausgehe) dann kennst du dich sogar schon mit der (wahrscheinlich einzig brauchbaren, Emacs-User weghören) IDE dafür aus. Ansonsten ist es halt ein Abkömmling von ML (mit gewissen Einschränkungen). Davon höre ich eigentlich nur Gutes.
-
Hmm, grad etwas rum gespielt damit.
Mit fehlt derzeit eine gute Anleitung, ein Tutorial was mich eine weile führt.
Für C# hatte ich damals ein Buch, und durch die bereits vorhandenen C++ Kenntnisse war die einarbeit sehr schnell gemacht.
Nur ich möchte noch kein Buch kaufen wenn ich eventuell nicht mehr mache als etwas damit rum spielen.
-
Eiffel wäre noch wert genannt zu werden.
-
-
-
Tja, Basic, Java, OpenCl, Opengl, Mpi mit Linuxkisten, Cuda, Processing, Pixelbender, Computeralgebragenöns, Algorithmen, Python, Lua, Ruby, Linuxscripting, grundsätzlich bei der Suche nach Parallelalgos mitmachen, Ki-Programming ausprobieren, ...es kommt nicht so sehr auf die Sprache an! - versuche, ein paar fiese und sehr versteckte Rootkits für Windows mit VB zu programmieren, oder/und ein paar komplexere Programme mit Ida zu reversen.
(und hast du eigentlich schon die Möglichkeiten evolutionärer Algos ausgelotet?)Am besten drei Fliegen mit einer Klappe schlagen, an eine Linuxkiste setzen, Haskellcompiler/interpreter installieren, ein bißchen damit herumspielen und versuchen diese ersten kleinen Programme mit (g)as asm nachzuprogrammieren.
...hm, und wenn du debug noch nicht kennst, wie wäre es mit ein wenig com-Programmentwicklung?
Hier zwei Bücher, die weiterhelfen, vorausgesetzt, du weißt was du machen willst, ausser die Sprache nur zu lernen:
http://www.assembler.my100megs.com/
http://book.realworldhaskell.org/...oder alternative JavaME proggies fürs Handy schreiben. Die meisten Sachen, die ich bisher gesehen habe, sind nicht wirklich spannend, und lahm dazu...
hm......eine Shell mit ghci aufm Handy, ja, das würde mir wohl gefallen...:)
-
Scheme! Das ist funktional aber nicht rein funktional wie Haskell. Dazu das Buch "Struktur und Interpretation von Computerprogramme" (die englische Version ist wahrscheinlich besser). Ich benutze zur Zeit Chicken Scheme. Btw. Clojure stammt von Lisp ab, obwohl es einige Gemeinsamkeiten mit Scheme hat. F# hmm, keine Ahnung, aber du bist immer an Microsoft gebunden.
-
Eine etwas verrückte Idee: FORTRAN! Aber nicht irgendein Fortran, sondern Fortran 77 oder älter. Dann siehst du mal, wie gut man es doch heute hat. Und du verstehst die Witze in denen behauptet wird, dass ein guter Programmierer in jeder Sprache Fortran programmieren kann
.
-
Ich habe jetzt einiges mit F# rum gespielt und ich denk das ich schauen werde damit n bissl mehr zu machen, die Syntax und das Feeling finde ich sehr ansprechend
Vielen dank für die Zahlreichen Vorschläge
@knivil, das ich an MS gebunden bin stört mich überhaupt nicht
Portabilität finde ich völlig überbewertet (wird oft propagiert und eingesetzt aber absolut selten auch benötigt [YAGNI])
Und wenn MS die Sprache einstellt, dann lern ich eben eine andere, es geht weniger um die Sprache als das Prinzip wie man Programmiert, denk ich.
-
Ich habe nicht von Portabilitaet gesprochen. Wenn du etwas anderes machen moechtest, dann solltest du radikaler sein. Dazu gehoert auch, aus dem Microsoftumfeld auszubrechen. F# hat Elemente, die andere Sprachen konsequenter umsetzen. Und mein Prof. sagt immer, wir sollten uns mit den Orginalen beschaeftigen. Das kann ich nur wiederholen. Die Kopie verwassert die Orginalidee meist stark.
Ich habe gerade etwas in dem verlinkten F# Buch geblaettert. Sofort sind mir for-Schleifen aufgefallen. Objektorientiert kann ich auch programmieren. Das hat nichts mit "Horizont erweitern" zu tun. Es ist die selbe alte Scheisse wie eh und je. Wie waere es mit einer Sprache, die all das nicht hat? Jaja, z.B. Scheme.
es geht weniger um die Sprache als das Prinzip wie man Programmiert
Genau deswegen solltest du nicht F# nehmen.
-
Ich finde FORTH ganz interessant. Es ist zwar nicht gerade freundlich zu Register-basierten Prozessoren, aber die Konzepte und das Ziel der Sprache finde ich sehr interessant.
Tutorial: http://www.forth.com/starting-forth/index.html
Ein komplettes FORTH System für Windows: http://www.forth.com/swiftforth/dl.htmlEs gibt dann da noch Rebol, welches sich an FORTH etwas bedient.
-
knivil schrieb:
Ich habe nicht von Portabilitaet gesprochen. Wenn du etwas anderes machen moechtest, dann solltest du radikaler sein. Dazu gehoert auch, aus dem Microsoftumfeld auszubrechen. F# hat Elemente, die andere Sprachen konsequenter umsetzen. Und mein Prof. sagt immer, wir sollten uns mit den Orginalen beschaeftigen. Das kann ich nur wiederholen. Die Kopie verwassert die Orginalidee meist stark.
Aber Clojure hast du selbst genannt...
-
Soll ich mich selbst zitieren?
Btw. Clojure stammt von Lisp ab
War eine Bemerkung in Bezug auf
Clojure (Scheme-Dialekt)
-
Aber da stört dich die Nähe zu Java und die Einschränkungen gegenüber dem "Orginal" nicht? Oder hat dein Prof nichts explizit dagegen?
-
Das ist eine Unterstellung. Hoere auf mir Worte in den Mund zu legen!
-
Wie kann man als C++ Entwickler Alternativen in der Script/Interpreter Welt suchen ? auch noch Freiwillig ?
Aber im C++ Umfeld gibts doch auch genug, was kein C++ ist, aber auch bei der programmierung hilfreich ist, bzw den Horizont erweitert.
Beispielsweisse mal nen intensiver einstieg in cmake (iss ja auch sowas wie ne scriptsprache) oder scons oder ähnliches.
Und wenns unbedingt ne andere (interpretierte) sprache sein soll, dann vielleicht was womit man seine c++ programme erweitern könnt. Lua/Python wär da vielleicht ne gute Idee ...Ciao ...
-
knivil schrieb:
Ich habe nicht von Portabilitaet gesprochen.
Welchen Grund gibt es denn sonst nicht "unter Microsoft" zu entwickeln?
knivil schrieb:
Wenn du etwas anderes machen moechtest, dann solltest du radikaler sein.
Ich will mein Horizont erweitern, mal in andere Sprachen rein schnuppern.
knivil schrieb:
Dazu gehoert auch, aus dem Microsoftumfeld auszubrechen.
Wieso?
knivil schrieb:
F# hat Elemente, die andere Sprachen konsequenter umsetzen. Und mein Prof. sagt immer, wir sollten uns mit den Orginalen beschaeftigen. Das kann ich nur wiederholen. Die Kopie verwassert die Orginalidee meist stark.
Spielt keine Rolle ob es eine Kopie ist oder nicht, warum sollte ich denn unbedingt mit einem Original arbeiten?
knivil schrieb:
Ich habe gerade etwas in dem verlinkten F# Buch geblaettert. Sofort sind mir for-Schleifen aufgefallen. Objektorientiert kann ich auch programmieren. Das hat nichts mit "Horizont erweitern" zu tun. Es ist die selbe alte Scheisse wie eh und je. Wie waere es mit einer Sprache, die all das nicht hat? Jaja, z.B. Scheme.
Und? Nur weil es for schleifen gibt ist die Sprache noch nicht schlecht.
Ich könnte es so schreiben:let sqr x = x * x let sumOfSquaresI nums = let mutable acc = 0.0 for x in nums do acc <- acc + sqr x acc
oder
let sqr x = x * x let sumOfSquares nums = nums |> Seq.map sqr |> Seq.sum
Was for mit Objektorientiert zu tun hat weiß ich nicht, könntest du das ausführen?
knivil schrieb:
CSL schrieb:
es geht weniger um die Sprache als das Prinzip wie man Programmiert
Genau deswegen solltest du nicht F# nehmen.
Siehe den Code oben, scheinbar habe ich in F# mehrere Möglichkeiten, ist es denn für ein einsteiger nicht einfacher wenn man diese hat?
F# gefällt mir dadurch das ich in den überaus genialen VS 2010 bleiben kann, und das ich die volle Power des .Net Frameworks nutzen kann.
@RHBaum
Wer redet von "alternativen"? Ich will einfach mal was neues aus probieren.Unabhängig davon kann ich natürlich auch mal in Haskell oder Scheme rein schauen
Welches der beiden ist denn besser geeignet für einsteiger und bieten auch eine IDE? (vim und emacs nicht, komm mit solchen Editoren nicht zurecht, und eine Sprache lernen reicht schon)