Mir gefällts :)
http://www.viddler.com/explore/rails3/videos/9/
Na, macht es euch ebenfalls den Mund wässrig? Ich finde es ist gut gemacht. Wer noch nie etwas mit Rails gemacht hat: Lieber spät als nie.
Mir gefällts :)
http://www.viddler.com/explore/rails3/videos/9/
Na, macht es euch ebenfalls den Mund wässrig? Ich finde es ist gut gemacht. Wer noch nie etwas mit Rails gemacht hat: Lieber spät als nie.
fanboy ;)
Ich bin schon öfters auf Ruby on Rails gestoßen und hab auch schon häufig drüber nachgedacht mal von PHP weg zu kommen ... Mal auf die neue Version warten und gucken :)
finds auch geil gemacht...kommt richtig freude auf
Ich kann jedem Entwickler nur Ruby und Rails empfehlen. Hier alle Screencasts zur Version 3, die ich bereits in der Beta4 benutze. http://rubyonrails.org/screencasts/rails3
ich persönlich mag die Ruby-Syntax einfach nicht... ok, ich hab nicht mehr als ein simples Tutorial gemacht, aber das ist irgendwie nicht mein Ding...
viel lieber würde ich mit Python und Django arbeiten... (um nur mal eine Alternative hier zu nennen, zwischen den ganzen fanboys ;) )
Das hat alles nichts mit Fanboys zu tun. Ich nutze Ruby seit Jahren im Livebetrieb und es gibt derzeit nichts vergleichbares, was soviel Zeit bei der Entwicklung spart. Und der Syntax ist schon wieder so einfach, da kann vor allem PHP und Co. überhaupt nicht mithalten.
Andererseits bin ich froh, dass noch wenige professionelle Studios auf Rails setzen, dennn dann würden die noch schneller Spiele entwickeln können und wir würden noch mehr überflutet mit den 08/15-Abzockgames :-)
Ich hatte versucht Ruby zu testen, aber Entwicklungsumgebungen (Aptana, Netbeans) sind entweder beim Update der "Gems" abgestürtzt oder die Beispieldateien die beim Erstellen eines neuen Projektes erstellt werden waren mit Syntaxfehler behaftet. Das hat mich doch um einiges abgeschreckt dass ich keine funktionierende Entwicklungsumgebung gefunden habe.
Kostenlos und funktionierend finde ich für PHP allerdings genügend wie Eclipse PDT, was der Grund war nicht Ruby zu testen.
Hat da vielleicht jemand was? Kostenlos und Windows sollten da die Kriterien sein.
Notepad;)
ne würde mich aber auch interessieren, Buhrmi hat mir ja schon Rails schmackhaft gemacht.. fehlt nur noch das "womit mache ich meine applications"
Mit NetBeans :)
Original von coke
Andererseits bin ich froh, dass noch wenige professionelle Studios auf Rails setzen, dennn dann würden die noch schneller Spiele entwickeln können und wir würden noch mehr überflutet mit den 08/15-Abzockgames :-)
Stimmt! So hab ich noch gar nicht gedacht. Ich nehme alles zurück! Rails ist mist und niemand sollte es benutzen :D
Wie schaut es mit vernümpftigen Lecktüren aus?
Hatte mir vor einem halben Jahr nen Buch bestellt zum Thema Ruby on Rails 2 (genauer Name fällt mir gerade nicht ein) und war nicht so begeistert ... Also von dem Buch.
Original von BlackScorp
Notepad;)
Ja genau die Antwort habe ich tatsächlich in einigen Foren erhalten.
- "Wie Ruby und Entwicklungsumgebung? Nutze ein Editor"
- "Was Ruby unter Windows? Nehm Mac OS"
Aber wenn ich ein Framework nutze ohne gescheite Unterstützung wie Code Completition, Parameter und API Docu Anzeige... Ich denke dann würde ich auf jeden Fall mit PHP schneller und einfacher entwickeln. :)
Ruby gefällt mir von der Syntax und dem Framework super, aber die fehlende Unterstützung (sowohl Software als auch Foren/Newsgroups) waren für mich die K.O. Kriterien. Da würde ich dann doch eher auf ASP.NET/C# wechseln, denn Visual Studio finde ich eine super Entwicklungsumgebung.
Original von DrakeL
Aber wenn ich ein Framework nutze ohne gescheite Unterstützung wie Code Completition, Parameter und API Docu Anzeige... Ich denke dann würde ich auf jeden Fall mit PHP schneller und einfacher entwickeln. :)
Der Meinung war ich früher auch. War auch immer verwöhnt von Code Completion und dachte vor ein paar Jahren ebenfalls, dass ohne eine Umgebung in der ich mich so wohl fühle wie Eclipse/Java oder VisualStudio/C# und ohne statische Typisierung ich keine Lust am programmieren haben könnte. Aber nach einigen Jahren mit Ruby kann ich sagen: Ich will nicht wieder zurück :)
Es gibt genau zwei Bücher die man auf jeden Fall lesen sollte:
http://www.pragprog.com/titles/rails4/agile-web-development-with-rails
http://www.pragprog.com/titles/ruby3/programming-ruby-1-9
Desweiteren gibt es eine Seite, die nahezu alle Aspekte von Rails anhand Video-Tutorials abdeckt: http://www.railscasts.com
Original von BlackScorp
Notepad;)
ne würde mich aber auch interessieren, Buhrmi hat mir ja schon Rails schmackhaft gemacht.. fehlt nur noch das "womit mache ich meine applications"
rubymine
Einfach voten... wenn man wirklich Ruby nutzen mag...
Original von TheUndeadable
Einfach voten... wenn man wirklich Ruby nutzen mag...
na iron ruby wohl rails 2.3.5 unterstüzt, solls mir recht sein^^
ich bin kein ruby fan aber das video ist sympatisch....... wirklich
Original von tector
ich persönlich mag die Ruby-Syntax einfach nicht... ok, ich hab nicht mehr als ein simples Tutorial gemacht, aber das ist irgendwie nicht mein Ding...
Welche Syntax? Das schöne an Ruby ist, dass man einfach die Syntax verwenden kann, die einem am besten liegt.
Original von Todi42
Original von tector
ich persönlich mag die Ruby-Syntax einfach nicht... ok, ich hab nicht mehr als ein simples Tutorial gemacht, aber das ist irgendwie nicht mein Ding...
Welche Syntax? Das schöne an Ruby ist, dass man einfach die Syntax verwenden kann, die einem am besten liegt.
na das musst du mir mal erläutern..
Original von Redrick
ich bin kein ruby fan aber das video ist sympatisch....... wirklich
dann kannst du ja jetzt ein Ruby Fanboy werden
Original von tector
Original von Todi42
Welche Syntax? Das schöne an Ruby ist, dass man einfach die Syntax verwenden kann, die einem am besten liegt.
na das musst du mir mal erläutern..
Klammern bei Funktionsaufrufen sind z.B. optional. ; ist nur nötig, wenn ein Zeilenumbruch nicht klar macht, wo Grenzen zwischen Ausdrücken sind. Man kann selbst Operatoren definieren, Sonderzeichen sind in Funktionsnamen erlaubt. Das erlaubt einem schon recht flexibel bei der Syntax zu sein.
Es gibt eigentlich fast immer ein halbes Dutzend Möglichkeiten, wie man etwas erledigt bekommt.
Das Argument, die Ruby Syntax sei schlimmer als PHP kann ich wirklich nicht nachvollziehen...
Code:
PHP: class Hello { function sayHello() { echo "Hello!"; } } $a = new Hello(); $a->sayHello(); Ruby: class Hello def sayHello puts "Hello!" end end a = Hello.new a.sayHello PHP: $foo = array('a' => array(1, 2, 3), 'b' => 'a string') Ruby: foo = {a: [1, 2, 3], b: 'a string'}
Erster Teil: Geschmackssache.
Zweiter Teil: Definitiv (pro Ruby, JSON, JavaScript).
Es gibt eigentlich fast immer ein halbes Dutzend Möglichkeiten, wie man etwas erledigt bekommt.
Grandios...
Also im Team erstmal Meta-Abstimmungen...
Original von TheUndeadable
Es gibt eigentlich fast immer ein halbes Dutzend Möglichkeiten, wie man etwas erledigt bekommt.
Grandios...
Also im Team erstmal Meta-Abstimmungen...
Nein, jeder bekommt die Freiheit, seine Aufgaben so zu erledigen, wie er es ihm am besten liegt und jeder muss die Sprache lernen. Warum sollte immer jeder alles gleich machen? Habt ihr keine Spezialisten im Team, die evtl. sogar andere Aufgaben haben und damit Problem generel anders angehen? Hast Du schon mal ein Projekt erlebt, wo das kleinliche Bestimmen, wo und wie Klammern zu setzen sind dazu geführt hat, das Code lesbarer wurde?
Hast Du schon mal ein Projekt erlebt, wo das kleinliche Bestimmen, wo und wie Klammern zu setzen sind dazu geführt hat, das Code lesbarer wurde?
Täglich auf der Arbeit [Automobilsektor] ;-) Ich weiß nicht wie lang deine Programme zu pflegen sind, aber in gewissen Wirtschaftsbereichen sind 10 Jahre und mehr gefordert.
http://en.wikipedia.org/wiki/Coding_conventions
"Reducing the cost of software maintenance is the most often cited reason for following coding conventions."
Ich bin nicht der Meinung dass die Optionalitäten bzw. die Vereinfachungen welche die Ruby-Syntax dem Programmierer bietet, einen negativen Einfluss auf die Wartbarkeit hat. Eher im Gegenteil.
Abgesehen davon sind Coding Conventions bei jeder Sprache anzutreffen und werden auch insbesondere bei Rails groß geschrieben. Gute Wartbarkeit und wohldefinierte Conventions sind sogar Kernargumente für die Verwendung von Rails.
Bei der langfristigen Wartbarkeit kommt es meiner Meinung nach eher auf die Modularität (und andere High-Level-Buzzwords) einer Sprache und Disziplin innerhalb des Teams an. Und Ruby lässt sehr große Freiheit für die Anwendung von Disziplin. Falls Disziplin ein Problem ist, dann ist der Fehler im Team zu suchen, welches wahrscheinlich auch mit jeder anderen Sprache ein Problem hätte.
@buhrmi: ja, in deinem Beispiel sieht die Syntax nicht so schlimm aus... aber was ist mit diesen ganzen @ und % -Zeichen die mich bei Ruby-Code immer anspringen??? und warum heißt der echo-Befehl puts statt echo oder print wie bei vielen anderen Sprachen??
Bei einer Funktion möchte ich persönlich eigentlich immer Klammern haben um genau sehen zu können, dass es eine Funktion ist und keine Variable oder sonstwas:
wie unterscheidet man denn
a.function
von
a.variable
Original von buhrmi
Code:
Ruby: foo = {a: [1, 2, 3], b: 'a string'}
Ist das wirklich so oder ist dir da ein Fehler unterlaufen: Das äußere Array mit {} und das innere mit [] ?
Und was Code-Conventions angeht sehe ich das auch wie TheUndeadable
Original von tector
Ist das wirklich so oder ist dir da ein Fehler unterlaufen: Das äußere Array mit {} und das innere mit [] ?
{} definiert ein Anonymes Objekt bei dem der Key dem Value zugeordnet wird.
[] definiert Arrays die eine Liste von Werten enthält und die Keys durchnummeriert sind.
PHP mischt das Ganze und sagt alles ist ein Array. Was oft zu Problemen führt weil diverse PHP Funktionen mit Listen anders umgehen als mit assoziativen Arrays... Ist meiner Meinung nach zwar schön flexible, aber eine der hässlichsten Eigenarten von PHP.
Und was Code-Conventions angeht sehe ich das auch wie TheUndeadable
Code Conventions halte ich für den ersten Schritt wenn ich in einem Team arbeite. Nichts ist schlimmer als sich in ein Modul einarbeiten zu müssen das von einer handvoll Entwickler erstellt/geändert wurde und man alle paar Zeilen andere Formatierungen hat.
Einziger "Vorteil": Anhand von der Formatierung weiss man genau welchen Entwickler man fragen muss bei Fragen...
Natürlich sind Code Conventions wichtig. Doch sie sind in jeder Sprache wichtig. Das ist kein Argument für oder gegen eine Sprache. Darüber dass Code Conventions wichtig sind, müssen wir uns hier eigentlich nicht streiten.
Original von tector
@buhrmi: ja, in deinem Beispiel sieht die Syntax nicht so schlimm aus... aber was ist mit diesen ganzen @ und % -Zeichen die mich bei Ruby-Code immer anspringen??? und warum heißt der echo-Befehl puts statt echo oder print wie bei vielen anderen Sprachen??
Bei einer Funktion möchte ich persönlich eigentlich immer Klammern haben um genau sehen zu können, dass es eine Funktion ist und keine Variable oder sonstwas:
wie unterscheidet man denn
a.function
von
a.variable
Gar nicht. In Ruby kann man keine Klassenvariablen direkt ansprechen. Die @-Zeichen sind Instanzvariablen innerhalb einer Klasse. Das sind Konzepte, die man nicht kennt, wenn man Ruby noch nie programmiert hat. Glaubst du nicht, dass es mir ebenfalls anfangs total merkwürdig vorkam? Ich dachte auch "Hää... Ein @ vor einer Variable, was soll das denn, und die ganze %-Notation, das is total merkwürdig, das kann nicht gut sein." Aber wie gesagt: Ich will nicht wieder zurück. Aber natürlich ist es einfacher zu sagen: Kenn ich nicht - kann nicht gut sein.
Wenn ich jemandem Ruby erkläre, dann vergleiche ich es oft mit einem großen Puzzel. Allerdings kennt man das Motiv des Puzzels nicht, da man noch nie mit Sprachkonstrukten, die Ruby ermöglicht, gearbeitet hat. Man hat also jede Menge merkwürdige Puzzelteile wie z.B. die ganzen @-Zeichen, komische "attr_accessor", und "Klasse.new" anstatt "new Klasse()", das Keyword "self" anstatt von "this", und vieles mehr. Alles total anders. Das wirkte auf mich früher auch extrem sinnlos, doch ALLES dahinter macht Sinn und je mehr Puzzelteile und Konzepte man begreift und damit jongliert, umso schneller macht es im Gehirn "klick-klick-klick" und plötzlich ergibt ALLES einen Sinn. Man sieht die Matrix. Und plötzlich denkt man: Scheiße! Hätte ich mich doch blos schon früher damit beschäftigt. Und alles was man früher in Java, C# und PHP gelernt hat, möchte man schnell verdrängen.
Original von Drakel
{} definiert ein Anonymes Objekt bei dem der Key dem Value zugeordnet wird.
[] definiert Arrays die eine Liste von Werten enthält und die Keys durchnummeriert sind.
Nicht ganz. {} erzeugt ein Objekt mit der Klasse "Hash" und [] ein Objekt mit der Klasse "Array".
Original von buhrmi
In Ruby kann man keine Klassenvariablen direkt ansprechen. Die @-Zeichen sind Instanzvariablen innerhalb einer Klasse. Das sind Konzepte, die man nicht kennt, wenn man Ruby noch nie programmiert hat.
achso, dann heißt das also @variable statt wie in php $this->_variable (und den Unterstrich kann man sich dann auch sparen)
Glaubst du nicht, dass es mir ebenfalls anfangs total merkwürdig vorkam? Ich dachte auch "Hää... Ein @ vor einer Variable, was soll das denn, und die ganze %-Notation, das is total merkwürdig, das kann nicht gut sein." Aber wie gesagt: Ich will nicht wieder zurück. Aber natürlich ist es einfacher zu sagen: Kenn ich nicht - kann nicht gut sein.
Ja richtig. Will ja auch nicht sagen, dass ich nicht offen für neues bin. Ich würde mir aber gerne mal neben Ruby und Rails auch ausführlich Python/Django oder C# anschauen, leider fehlt mir die Zeit für alles... also muss ich abwägen Python oder Ruby? Hm, wohl doch eher Python...
Aber Version 3 von RoR werde ich sicher mal ausprobieren...
> umso schneller macht es im Gehirn "klick-klick-klick"
Bei dir hat es wirklich klick-klick-klick gemacht ;-)
Doch sie sind in jeder Sprache wichtig. Das ist kein Argument für oder gegen eine Sprache.
Ich habe auch nie das Gegenteil behauptet.
Und BTW: C# in eine Aufzählung mit Java und PHP zu stecken ist Frevel :-)
Original von TheUndeadable
Und BTW: C# in eine Aufzählung mit Java und PHP zu stecken ist Frevel :-)
Dem stimme ich zu. :)
Wobei ich ASP.NET dazustecken würde, aber ich hoffe immernoch dass dieses vorgefertigte Registrierungsformular nur eine Täuschung war mit den Sicherheitsfragen a la "Geburtsname der Mutter"...
Original von TheUndeadable
Und BTW: C# in eine Aufzählung mit Java und PHP zu stecken ist Frevel :-)
Ich weiß :D Tut mir leid... ;=)
Und BTW: Java in eine Aufzählung mit C# und PHP zu stecken ist Frevel
na nun gehts aber ab hier :)
Java überhaupt in eine Aufzählung mit anderen Programmiersprachen (Brainfuck und Intercal mal ausgenommen) zu stecken ist ja schon Frevel.
Back to topic, please.
Original von buhrmi
Original von Drakel
Original von tector
Ist das wirklich so oder ist dir da ein Fehler unterlaufen: Das äußere Array mit {} und das innere mit [] ?
{} definiert ein Anonymes Objekt bei dem der Key dem Value zugeordnet wird.
[] definiert Arrays die eine Liste von Werten enthält und die Keys durchnummeriert sind.
Nicht ganz. {} erzeugt ein Objekt mit der Klasse "Hash" und [] ein Objekt mit der Klasse "Array".
Schöner Threadverlauf ;) Wie ich bereits sagte: Das ist wie JSON. JSON ist auch nicht unbedingt eine eigene Erfindung, sondern einfach nur eine Spezifikation. Ob dahinter in der Implementierung der Sprache Objekte stecken oder auch nicht, ist ja egal. (JSON schreibt streng genommen in Hochkommata geschriebene Schlüssel vor, welches man aber - abgesehen von der Generierung - oft vernachlässigt.)
Gerade so ein Feature ist super.. wer sich damit schwer tut, der hat echt Altlasten mit sich rumzuschleppen :)
Java 7 soll das wohl auch erhalten, was definitiv einen Mehrwert bedeutet.
> Map = {"key" : 1};
> int value = map["key"];
Immer wieder wahnsinn, dass man in Java explizit die Typen deklarieren muss... Insbesondere in Kombination mit Generics
Nahezu alle Features von Ruby bietet auch C#... Nur zusätzlich noch mit optionaler Typsicherheit. Daher verstehe ich den Ruby-Hype nicht wirklich. [Wenn man die 'Performance' von Ruby hinzunimmt dann noch viel weniger]
Obiges Beispiel in C#:
var foo = new { a = new[] { 1, 2, 3 }, b = "a string" }; // <- Typsicher
dynamic bla = new { a = new[] { 1, 2, 3 }, b = "a string" }; // <- nicht TypsicherConsole.WriteLine(foo.b);
Console.WriteLine(bla.b);Console.WriteLine(foo.c); <- Compilerfehler
Console.WriteLine(bla.c); <- Runtimefehler
Original von TheUndeadable
Nahezu alle Features von Ruby bietet auch C#...
Ähm... öhm.... ääähm... Metaprogrammi....achisauchegal :) Dafür hat C# auch einige Features die Ruby nicht hat. Aber ich finde trotzdem, dass man sich erst einmal mit der Programmiersprache auseinandersetzen sollte, bevor man diese Behauptung aufstellt. Mit Ruby sind Sachen möglich, die in der Welt der statisch typisierten Sprachen extrem umständlich oder unmöglich sind. Entwickler, die jedoch ausschließlich damit Erfahrung haben, SEHEN die tiefergehenden Vorteile von Ruby einfach nicht. Hmmm vielleicht könnte man einen Vergleich bringen ... *grübel*
Ich habs! OK, also wir Erdenbewohner sind Java/C++/C# Entwickler und wir nutzen unseren Planeten, und die Flüsse und Ressourcen darauf als unsere Sprachkonstrukte. Dann entdecken wir einen neuen Planeten, der von außen zu 100% wie die Erde aussieht. Doch dieser Planet beherrscht Metaprogrammierung und ist dynamisch. Die Entwickler auf diesem Planeten können beliebig die Flüsse, Berglandschaften, Strände einfach so nach ihrem belieben anpassen und ganz neue Landstriche erzeugen. Auch zur Laufzeit, wenn der Planet nach der Abkühlphase kurz nach dem Urknall (was dann wohl so quasi der Kompilierung auf dem Erdenplaneten entspricht) schon ausgehärtet ist. Die Erdenentwickler sehen von außen jedoch nur einen Planeten, der Flüsse und Gebirge hat. Für uns hat der fremde Planet also rein gar nichts, was der Erde irgendwie überlegen ist. Bzw... Wir sehen es nicht.
Oh hier liegen ein paar Pillen. Glaub die nehm ich mal :)
Original von buhrmi
Oh hier liegen ein paar Pillen. Glaub die nehm ich mal :)
Ja, ich glaube besser ist das ^^. Naja, hast es auf jeden Fall geschafft mich neugierig zu machen ...
Ich kenne ja beide Welten, C# und Ruby (2) etwa gleich gut / gleich schlecht.
Ob die Sprache nun typisiert oder nicht - ich stehe dem neutral gegenüber. Sowohl das eine als auch das andere hat für mich Vorteile und Nachteile.
RoR hat leider seine "Niesche" noch nicht verlassen, da es vor allem gegen eines ankämpfen muss: PHP. Ruby ist PHP in allen belangen überlegen (imho), benötigt aber mehr Einarbeitungszeit, was es für "Profis" in einen kaum auszugleichenden Nachteil zwingt.
C# und Ruby sind was die Programmiereffizenz angeht, etwa gleichwertig. Beide erlauben guten und schlechten Code, beide sind recht sauber und übersichtilch dokumentiert (wobei ich absoluter Fan von der .NET-Doku bin).
Ich würde ein neues Projekt, wenn das Betriebssystem keine Rolle spielt, dennoch .NET vorziehen. OHne dies irgendwie argumentieren zu können. Aber Ironruby macht ja auch gute Fortschritte, mal abwarten!
Auf Tux würde ich aber auf RoR setzen, da es PHP doch um längen voraus ist.
Eine Frage zum Schluss:
Wie sieht es eigentlich mit der Performance von Ruby aus?
Original von Kampfhoernchen
Eine Frage zum Schluss:
Wie sieht es eigentlich mit der Performance von Ruby aus?
Ich arbeite sonst mit C++ und dachte mir, jetzt (2007) müste die Rechnerleistung für interpretierte Sprachen und relationale Datenbanken eigentlich reichen. Wenn man aber etwas mehr macht, als den Inhalt von einer Handvoll Datenbank Tabellen in HTML zu betten, merkt man aber schon schnell, wie sehr viel langsamer das werden kann. Mein in Ruby geschriebener Comet Server degenerierte mit der Zeit sehr deutlich. Rubys threading erlaubte leider nicht die Nutzung der zweiten CPU geschweige denn, dass Investitionen in eine Maschine mit noch mehr CPUs was gebracht hätte. Was ich so an Profilern gefunden hatte, war nur sehr bedingt hilfreich.
Ich schreibe jetzt an einem Comet-Server in C++ und bin guter Dinge, dass dieser deutlich besser skaliert.
Die Erfahrungen hatte ich mit 1.8 gemacht und gelesen, dass 1.9 deutlich performanter sein soll. Für ein "normales" Webprojekt hätte ich keine Bedenken Ruby einzusetzen, notfalls kann man sicher noch über mehr Rechner skalieren.
mfg Torsten