2010-11-22 13 views
1

Ich bin verpflichtet, Software-Tests für meinen Job zu automatisieren, und ich verwende derzeit groovy, um dies zu tun. Ich denke jedoch darüber nach, Ruby zu meinem Repertoire hinzuzufügen. Vor allem, weil ich mich in Zukunft an einem Rails-Projekt arbeiten sehe.Wie lange dauert es, um Ruby als Skriptsprache zu lernen?

Wie lange wird es wohl dauern, bis Sie mit Ruby relativ gut Skripting beherrschen? Ich spreche hauptsächlich um ein DOM mit webdriver/webrat herum und programmiere Text/Datei ändernde Arbeit programmatisch.

Antwort

1

Ein Wochenende intensiver Hingabe.

Im Ernst, es ist eine Frage, wie viel Zeit Sie haben und was Ihre bisherigen Erfahrungen sind. Wenn Sie sich in Perl oder Python eingemischt haben, werden Sie Ruby wahrscheinlich leichter finden, als wenn Sie zuvor Java benutzt hätten.

+0

Habe nur Java/Groovy verwendet. Ich lerne C++ auch als Teil meines Informatikstudiums (erstes Jahr - Teilzeitstudium). – CBA

+0

@CB: ok, du kennst objektorientierte Programmierung. Dies wird helfen, da Ruby auch teilweise eine OOP-Sprache ist. Ich habe Groovy nicht benutzt, aber von dem, was ich sehe, ist es von Ruby inspiriert. Da Ruby eine interpretierte Sprache ist, erhältst du ziemlich schnelles Feedback von deinem Code, und das hat mir immer geholfen, eine neue Sprache zu lernen. Es ist unmöglich objektiv zu sagen, wie lange es dauern wird, es hängt hauptsächlich von dir und deinen Bemühungen ab. – darioo

+2

"teilweise" eine OO-Sprache? =) – Arkku

0

Ohne vorherige technische Erfahrung habe ich angefangen Rubin, HTML, CSS etc. zur gleichen Zeit zu lernen und es dauerte 2 Jahre, bis ich etwas bekommen konnte und wusste was eigentlich los war. Rails macht natürlich alles schneller und wenn Sie bereits andere Programmiersprachen kennen, können Sie die Grundlagen angehen und in 6 Monaten funktionsfähig sein.

+0

Entschuldigung, aber wie in der Frage erwähnt, habe ich technische Erfahrung und ich muss nur grundlegende Skripte mit der Sprache lernen. – CBA

1

Hängt davon ab, wie viel Erfahrung Sie mit anderen Programmiersprachen haben. Sie sollten die grundlegende Ruby-Syntax an einem Nachmittag lernen können. Und dann könnte das Erlernen der Testbibliotheken noch ein paar Tage dauern, um mit ihnen herumzuspielen. Sie werden sicherlich kein Ruby-Experte sein, aber Sie sollten in der Lage sein, einige Testskripte ziemlich schnell zu hacken.

Sie könnten hier beginnen - Ruby in Twenty Minutes

Dann vielleicht hier gehen - 17 Videos Covering Basic Ruby Techiques

+0

danke, nützliche Ressourcen – CBA

+0

Sie könnten den "Core Ruby" Kurs auf rubylearning.org nehmen. Ich glaube, die nächste Charge beginnt in einer oder zwei Wochen. Es hat einen sehr guten Ruf - einige erfahrene Rubyists haben es mehrmals genommen. Es würde dir eine sehr solide Grundlage geben. –

0

Ruby hat Nokogiri, die einen ausgezeichneten HTML/XML-Parser ist. Es unterstützt sowohl CSS- als auch XPath-Accessoren und erleichtert so die Navigation durch das DOM einer geparsten HTML-Datei.

Aufbauend auf Nokogiri ist Mechanize, die auf Perls WWW :: Mechanize basiert. Es erleichtert das Navigieren auf den Seiten einer Website, das Extrahieren von Feldern, das Ausfüllen von Formularen und das Absenden von Cookies, das Verfolgen von Cookies und Sitzungen usw. Da Mechanize auf Nokogiri basiert, können Sie das zugrundeliegende DOM verwenden und dasselbe CSS verwenden XPath-Zugriffsmethoden.

Ruby hat verschiedene Testumgebungen. Test :: Unit kommt mit Ruby und ist einfach zu bedienen. Es gibt auch Autotest, RSpec, Shoulda und Gurke, um ein paar andere zu nennen. Autotest ist gut, weil es Ihr Verzeichnis überwacht und Tests ausführt, während Sie die Dateien ändern, so dass Sie sofort erkennen, wenn Sie etwas kaputt machen.

Ich kam zu Ruby von einem Perl-und Java-Hintergrund, mit C/C++ vor denen. Für mich ist Ruby wie ein Kind von Java und Perl, weil es Ähnlichkeiten mit beiden hat, aber gleichzeitig sind die Dinge, die mit beiden Sprachen nervig waren, auf Ruby gut umgangen worden. Es ist fast so, als ob Ruby das logische Wachstum der nächsten beiden wäre. Ich denke, das ist teilweise der Rückblick und Matz 'Absicht, Ruby zu einer Sprache für Programmierer und nicht für Maschinen zu machen.

Ich habe versucht, Rails parallel mit Ruby zu lernen, aber gefangen Rails wie es von v1 zu v2 geändert. Alle Bücher waren veraltet und falsch, die meisten Websites waren falsch und es war schwierig, gute Informationen zu finden. Irgendwann wurde mir klar, dass die Verwirrung in der Dokumentation lag und ich mich sechs Monate lang von Rails entfernte und mich auf Ruby konzentrierte, die es täglich bei der Arbeit verwendete.Ich fing an, es fast ausschließlich zu benutzen, weil ich Ideen darin prägnanter ausdrücken konnte, als ich in Perl konnte. Ich könnte in Perl etwas knapper schreiben, aber es war nicht so leserlich, was mir wichtig ist, weil es hilft, den Code wartbar zu machen.

Jetzt, ein paar Jahre später, bevorzuge ich Ruby über jede Sprache, die ich je benutzt habe. Ich programmiere immer noch in Perl, aber rufe Ruby bei der Arbeit an und benutze es jederzeit, wenn ich etwas schreiben muss, das eine Datenbank berührt, wegen Sequel, oder um Web-Frontends in die Datenbanken zu schreiben mit Rails, oder Padrino, kombiniert mit HAML.

1

Wenn Sie Programmiererfahrung haben, würde ich sagen, 2 Wochen intensiver Fokus auf Ruby erhalten Sie 99% der Weg .... die Hauptmerkmale von Ruby, die es von anderen Skriptsprachen unterscheiden, ist seine intrinsische Verwendung von Iteratoren (Sie fast nie Code für oder While-Schleifen) und zugehörige Codeblöcke. Sobald Sie sich mit diesen vertraut machen, fällt der Rest auf.

1

Eine Minute zu lernen ... ein Leben lang zu meistern.

+0

Schöner Aphorismus Andrew. – CBA

0

Hängt davon ab, verwenden Sie andere Skriptsprachen? Ruby ist ziemlich einfach zu einigen Leuten. Es fiel mir leicht, mich an die meisten gängigen Methodennamen zu erinnern. Wenn Sie mit anderen Sprachen in einem vernünftigen Umfang gearbeitet haben, sollte es nicht länger als eine Woche dauern, um die Sprache zu genießen. Wenn Sie zum ersten Mal programmieren, müssen Sie Object Oriented Programming gut im Griff haben, um es wirklich zu schätzen.

Verwandte Themen