[ale] semi [OT] making learning ruby programming fun?

Jim Kinney jim.kinney at gmail.com
Wed Mar 27 10:39:27 EDT 2013


On Wed, Mar 27, 2013 at 10:16 AM, Ron Frazier (ALE) <
atllinuxenthinfo at techstarship.com> wrote:

> Hi Charles,
>
> see below
>
>
> Charles Shapiro <hooterpincher at gmail.com> wrote:
>
> >My $0.02:  Why's (Poignant) Guide to Ruby (
> >http://mislav.uniqpath.com/poignant-guide/ ).  One of the more unusual
> >language textbooks you will encounter.
> >
>
> Thanks for the link.  I just finished bookmarking it, and will be looking
> into it further.  It certainly looks more interesting than other textbooks
> at first glance.  Reminds me a little of the "Head First" series.  I
> haven't found one of those on Ruby though.
>
> >btw I enjoy C, C++, Python, SQL, shell, and several other languages
> >about
> >equally.  I dunno why Python's caring about whitespace is a
> >deal-breaker
> >for Mr. Frazier.
> >
>
> It's just that I'm philosophically opposed to having the way the program
> LOOKS to determine whether the program FUNCTIONS.  And, it seems to me,
> that if the program doesn't function for that reason (whitespace), that it
> would be insanely hard to determine where the flaw is, since you're looking
> at the logic and you KNOW it works.
>

tying visual structure to operant functionality is not a bad thing. It
actually makes some portions of debugging very, very easy - look for the
visual pattern of improperly nested indentations (secret - use a 2 or
3-space indent - makes it clear without eating too much horizontal space).
Set up vim or emacs to use your preferred space count on <tab> press.

I find curly braces a visual distraction( and nearly impossible to write
well by hand). Using pure whitespace as enclosures is subtle without being
cryptic. As i learned more python, I found myself using very formal
indentation is everything from bash to SQL.

to paraphrase B.O.C. "Don't fear the whitespace"

:-D


> Having said that, when I was programming professionally, I always tried to
> make my source code very readable.  (Probably helped them replace me more
> easily later.)  I put in lots of comments and indentation so you could see
> what's going on instantly, or I could, a year later.
>
> Sincerely,
>
> Ron
>
>
> >-- CHS
> >
> >
> >
> >On Tue, Mar 26, 2013 at 9:29 PM, Ron Frazier (ALE) <
> >atllinuxenthinfo at techstarship.com> wrote:
> >
> >> Hi Scott,
> >>
> >> I understand what you're saying.  Heck, if someone wants to pay me to
> >> learn it, then I will.  At the moment, though, I've uninstalled Java
> >on all
> >> my Windows machines and am trying to figure out how to do so in Linux
> >> because of the security risks of having it on my system.  If I have
> >to
> >> learn it, or use it, I might have to do so in a purpose built VM.
> >>
> >> I have heard that the Java syntax is more obtuse and verbose and that
> >the
> >> object model is harder to follow than some others.  I get the
> >impression
> >> that you have to type a whole lot more and it's a lot more cryptic to
> >get
> >> something done, versus, say, Go or Ruby.  That's just from memory and
> >I
> >> cannot remember the source.  There may have been multiple sources.
> >But, I
> >> don't have any personal experience with it.
> >>
> >> Sincerely,
> >>
> >> Ron
> >>
> >>
> >>
> >> Scott Plante <splante at insightsys.com> wrote:
> >>
> >> >There are probably some good reasons not to pick Java as the modern
> >> >language you want to learn, but "security problems" is not one of
> >them.
> >> >There have been several security holes found lately, but they relate
> >to
> >> >running un-trusted Java in the browser. Almost all the Java jobs
> >> >revolve around writing Java on the server, and practically all the
> >rest
> >> >are Java applications on the desktop or as a trusted applet or
> >> >browser-launched application.
> >> >
> >> >
> >> >It's a very hard problem to allow random, un-trusted code to run on
> >> >your computer and yet prevent it from doing any harm. It's a bit
> >easier
> >> >if you have an extremely limited language that doesn't do much
> >anyway.
> >> >They're constantly finding security holes in JavaScript, Flash, and
> >> >ActiveX, too. That's not meant to be an excuse and vendors do try to
> >> >fix holes as quickly as possible, with differing levels of
> >competency .
> >> >Also, these holes weren't in "Java" per se, but in the Oracle JVM.
> >Some
> >> >of them might also have been in, say, the IBM JVM or JRocket JVM
> >since
> >> >there is code sharing between projects. But they were probably not
> >in
> >> >Google's Dalvik JVM (since they don't do applets), even though for
> >> >Android you write in the Java language (more or less).
> >> >
> >> >
> >> >In a recent security contest, participants found holes inthe major
> >> >browsers, including Chrome, Firefox, IE, Safari and Java and Win
> >7/8.
> >> >Chrome OS did relatively well with only a "partial" exploit. It's
> >not
> >> >so much that Java is less secure than JavaScript, it's just that you
> >> >can do general browsing these days without Java, but you can't do
> >> >without JavaScript.
> >> >
> >> >
> >> >But all these security holes, in a sense, exist in spades for PHP,
> >C,
> >> >C++, etc., because they're not even trying to limit what your code
> >can
> >> >do. In other words, if the OS allows your user to overwrite a file
> >with
> >> >a regular program (not an unsigned applet) written in Java, you can
> >> >also overwrite that file with C, PHP, Ruby, Python, Perl, etc. But
> >> >they're not security "holes" because the language (including Java)
> >is
> >> >making no guarantees in that case. But avoiding Java on the
> >server-side
> >> >because of unsigned applet security holes is like choosing a sedan
> >for
> >> >highway driving over a crossover, because the crossover gets stuck
> >in
> >> >the mud more than a Hummer.
> >> >
> >> >
> >> >Scott
> >> >
> >> >----- Original Message -----
> >> >
> >> >From: "Ron Frazier (ALE)" <atllinuxenthinfo at techstarship.com>
> >> >To: "ALE" <ale at ale.org>
> >> >Sent: Monday, March 25, 2013 10:39:11 AM
> >> >Subject: [ale] semi [OT] making learning ruby programming fun?
> >> >
> >> >Hi all,
> >> >
> >> >As some of you know who've been following my prior threads, I've had
> >a
> >> >long time interest in learning a modern programming language. I've
> >had
> >> >difficulty putting the proper time into the studies, but I'm always
> >> >genuinely interested in the information I learn here. Leam had
> >> >convinced me that GO was a great language, and I believe it is. I
> >was
> >> >going to tackle that, but I have misgivings about its lack of
> >> >popularity in the market place.
> >> >
> >> >According to:
> >> >
> >> >http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
> >> >
> >> >GO ranks between 51 and 100 in usage, and the percentage is so low
> >it's
> >> >not listed. So, like it or not, learning GO might be a skill few
> >people
> >> >want. I decided to defer that.
> >> >
> >> >Most recently, I decided to learn the specific language of the
> >> >MetaTrader currency trading platform so I can build a tradebot. I am
> >> >working on that slowly. Unless I get really good, it is unlikely
> >> >someone will hire me for that. The objective would be for the
> >tradebot
> >> >to make money using my own account.
> >> >
> >> >So, I still have an interest in learning a general programming
> >> >language.
> >> >
> >> >I'm interested in a modern garbage collected language, preferably
> >multi
> >> >paradigm, with safe I/O and system calls, that can be compiled, and
> >> >that doesn't care about white space.
> >> >
> >> >See this comparison:
> >> >
> >> >http://en.wikipedia.org/wiki/Comparison_of_programming_languages
> >> >
> >> >I've chosen Ruby as my project language.
> >> >
> >> >According to the link posted above, the top 10 languages, and some
> >of
> >> >the reasons I've rejected some of them, are as follows. No offense
> >is
> >> >intended to anyone that programs in these languages.
> >> >
> >> >01) Java - security problems
> >> >
> >> >02) C - not modern garbage collected
> >> >
> >> >03) Objective C - Apple centric primarily
> >> >
> >> >04) C++ - not modern garbage collected
> >> >
> >> >05) C# - MS centric primarily
> >> >
> >> >------------
> >> >
> >> >06) PHP - security problems
> >> >per
> >> >http://en.wikipedia.org/wiki/Php
> >> >"About 30% of all vulnerabilities listed on the National
> >Vulnerability
> >> >Database are linked to PHP."
> >> >
> >> >07) VB - MS centric
> >> >
> >> >08) Python - cares about white space
> >> >
> >> >09) Ruby - This is my choice.
> >> >
> >> >10) Perl - does not have safe I/O and system calls
> >> >per
> >> >http://en.wikipedia.org/wiki/Comparison_of_programming_languages
> >> >
> >> >-------------
> >> >
> >> >So, having said all that, I have some Ruby questions.
> >> >
> >> >A) I have the "PickAxe" book on Ruby 1.9 by Dave Thomas. Is that a
> >good
> >> >resource for learning, or do I need to upgrade to a Ruby 2.0 book
> >now
> >> >that version 2 is out?
> >> >
> >> >B) Does anyone have any experience compiling Ruby either through
> >> >Rubinius or JRuby or otherwise?
> >> >
> >> >See
> >http://patshaughnessy.net/2012/2/15/is-ruby-interpreted-or-compiled
> >> >
> >> >
> >> >Finally, I've observed that reading one of these programming books
> >is
> >> >about as much fun as reading the US tax code. You get a thousand
> >little
> >> >examples of things like using for next loops to do a factorial. Now
> >> >that's exciting. I've seen maybe 1 of 100 books, primarily from
> >Deitel
> >> >and Deitel or the Head First series, that make learning programming
> >> >fun. They present you with real world applications, simplified, that
> >> >are interesting. They let you get something you can interact with on
> >> >the screen quickly and work on learning how it works and tweaking
> >it.
> >> >For example, a simulator of an ATM machine. An actual working
> >realistic
> >> >program.
> >> >
> >> >C) So, does ANYONE know of a Ruby book that would make learning the
> >> >language FUN, or at least moderately interesting?
> >> >
> >> >As always, any help is appreciated.
> >> >
> >> >Sincerely,
> >> >
> >> >Ron
> >> >
> >> >
> >> >
> >> >--
> >> >
> >> >Sent from my Android Acer A500 tablet with bluetooth keyboard and
> >K-9
> >> >Mail.
> >> >Please excuse my potential brevity if I'm typing on the touch
> >screen.
> >> >
> >> >(PS - If you email me and don't get a quick response, you might want
> >to
> >> >
> >> >call on the phone. I get about 300 emails per day from alternate
> >energy
> >> >
> >> >mailing lists and such. I don't always see new email messages very
> >> >quickly.)
> >> >
> >> >Ron Frazier
> >> >770-205-9422 (O) Leave a message.
> >> >linuxdude AT techstarship.com
> >> >
> >> >
> >> >_______________________________________________
> >> >Ale mailing list
> >> >Ale at ale.org
> >> >http://mail.ale.org/mailman/listinfo/ale
> >> >See JOBS, ANNOUNCE and SCHOOLS lists at
> >> >http://mail.ale.org/mailman/listinfo
> >> >
> >> >
> >> >
> >>
> >>------------------------------------------------------------------------
> >> >
> >> >_______________________________________________
> >> >Ale mailing list
> >> >Ale at ale.org
> >> >http://mail.ale.org/mailman/listinfo/ale
> >> >See JOBS, ANNOUNCE and SCHOOLS lists at
> >> >http://mail.ale.org/mailman/listinfo
> >>
> >>
> >> --
> >>
> >> Sent from my Android Acer A500 tablet with bluetooth keyboard and K-9
> >Mail.
> >> Please excuse my potential brevity if I'm typing on the touch screen.
> >>
> >> (PS - If you email me and don't get a quick response, you might want
> >to
> >> call on the phone.  I get about 300 emails per day from alternate
> >energy
> >> mailing lists and such.  I don't always see new email messages very
> >> quickly.)
> >>
> >> Ron Frazier
> >> 770-205-9422 (O)   Leave a message.
> >> linuxdude AT techstarship.com
> >>
> >>
> >> _______________________________________________
> >> Ale mailing list
> >> Ale at ale.org
> >> http://mail.ale.org/mailman/listinfo/ale
> >> See JOBS, ANNOUNCE and SCHOOLS lists at
> >> http://mail.ale.org/mailman/listinfo
> >>
> >
> >
> >------------------------------------------------------------------------
> >
> >_______________________________________________
> >Ale mailing list
> >Ale at ale.org
> >http://mail.ale.org/mailman/listinfo/ale
> >See JOBS, ANNOUNCE and SCHOOLS lists at
> >http://mail.ale.org/mailman/listinfo
>
>
> --
>
> Sent from my Android Acer A500 tablet with bluetooth keyboard and K-9 Mail.
> Please excuse my potential brevity if I'm typing on the touch screen.
>
> (PS - If you email me and don't get a quick response, you might want to
> call on the phone.  I get about 300 emails per day from alternate energy
> mailing lists and such.  I don't always see new email messages very
> quickly.)
>
> Ron Frazier
> 770-205-9422 (O)   Leave a message.
> linuxdude AT techstarship.com
>
>
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> http://mail.ale.org/mailman/listinfo/ale
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/listinfo
>



-- 
-- 
James P. Kinney III
*
*Every time you stop a school, you will have to build a jail. What you gain
at one end you lose at the other. It's like feeding a dog on his own tail.
It won't fatten the dog.
- Speech 11/23/1900 Mark Twain
*
http://electjimkinney.org
http://heretothereideas.blogspot.com/
*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ale.org/pipermail/ale/attachments/20130327/2da087f2/attachment-0001.html>


More information about the Ale mailing list