Before I start: I've done most of what you need to do successfully with Ruby before, for a little while now, so the news is good :-) planetthoughtful wrote: > Hi All, > > I'm thinking about learning a new scripting language, and I have a > couple of questions I'd like to ask the Ruby community to work out if > Ruby is the language I should be learning. > > A little background: most of my usage will be based around writing > console scripts that connect either to MSSQL (ie SQL Server), MySQL or > Microsoft Access databases to perform imports / exports / selections > etc, or it will be around pulling apart text file reports to identify > valid records etc (and often then importing them into a DB). This will > all be on a WinXP machine. I've handled MySQL and Access connectivity before (MySQL much more than Access), and they're both easy to get working. MySQL has a native driver, and you can get to Access via ODBC. I assume that MSSQL will be similarly convenient, but I haven't used it myself. > I'm currently very conversant with PHP and VBScript and moderately > conversant with C#. > > What I'm looking for: > > - A language that installs easily onto a WinXP machine, including any > libraries required to do the following things listed below as well. Yes. The One-Click-Installer (if you haven't already found it) takes care of this. > - A language with solid and hopefully well-documented libraries for > connecting to at least MySQL and MSSQL. Being able to connect to > Microsoft Access via ODBC (or even better, natively) would be an extra > bonus. See above. > - A language with a flexible array or array-like object. One of the > things I love about PHP is the ease with which an array can be > populated (eg "MyArray[] = 'a new value';" adds "a new value" as a new > item to the array MyArray). Ruby's arrays aren't quite as feature-packed as PHP's arrays, which are more like mutant hashes with strange super-powers. A Ruby array is created like this: arr = ['a', 2.0, Object.new] and are addressed only by index: arr[0] = 'b' and appended to like this: arr << 'c' If you want non-numeric keys, we've got hashes, which work like this: hsh = {'a' => 'foo', 1 => 'bar', Object.new => 'qux'} addressed (and also assigned to) like this: hsh['a'] = 'fob' Unlike PHP's arrays, Ruby's hashes don't preserve order, but there are libraries around to do that if you need it. > > - A language with strong Regular Expression abilities, and string > manipulation tools / methods. Yup. Better than PHP's, in my opinion. > So, would anyone be able to help me work out if Ruby is the language I > need? I guess the thing to do would be to find a simple task you need to do, and actually try it out, and see how it feels - and check back here if you need help. That's how I got hooked :-) -- Alex