Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Jul 2016 14:30:09 -0700
From:      David Christensen <dpchrist@holgerdanske.com>
To:        freebsd-questions@freebsd.org
Subject:   Re: "Simple" Languages in FreeBSD - UPDATE
Message-ID:  <42e04e4b-3726-ab4b-e1d8-3ac6013c432c@holgerdanske.com>
In-Reply-To: <20160703162634.5197b374@KoggyBSD.org>
References:  <alpine.BSF.2.00.1607011639300.50700@bucksport.safeport.com> <20160703162634.5197b374@KoggyBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 07/03/2016 01:26 PM, Allen wrote:
> Hi,
>
> I just wanted to say thank you to everyone who took the time to reply
> to my question. It means a lot to me, and I appreciate it. Thank you
> everyone! I'm thinking what I'll do, is basically start out with Shell
> Scripting, and once I've got that at least understood where I can edit
> my boxe's Configuration Files, and not screw it up (Not really scared
> of doing that, when I started learning Ruby I messed with every example
> in each book I was reading through just to see what would happen, I'm
> naturally curious like that ) and once I'm able to understand and write
> decent scripts, I'm going to then toy with Perl, Python, and Ruby.
>
> The reason I'm thinking all three, is that, well, for one, I like that
> idea, but also it wouldn't hurt to know 3 different languages, as that
> should make learning C a lot easier. My long term goal, is going to be
> learning C, and maybe eventually some Assembler, but mainly C.
>
> I really like what I would be able to do with Perl and Ruby, and
> there's also quite a lot Python will do for me personally, so I think
> this will be the steps:
>
> Shell Scripting > Perl/Python/Ruby > C .... Profit! :)
>
> Thanks again everyone, it was great to see some of the replies and
> knowing it wasn't something everyone else got and I didn't in terms of
> HOW to learn these things.

Other tools that I should have mentioned:

1.  A text mode editor that works over SSH.  (Another bike shed topic; I 
use Vim.)

2.  A version control system.  (Yet another; I use CVS.)


I've settled on the following languages/ tools, and think of them in 
levels of complexity (from highest to lowest):

     Higher-Order Perl [1]
     Perl
     Bourne shell, Make
     C
     assembly


The lower levels are suited for ROM monitors, interpretors, kernels, 
device drivers, file systems, communications stacks, shells, editors, 
lexers, parsers, compilers, interpreters, etc. -- e.g. software that 
requires maximal efficiency (space, time) and/or must be programmed 
"close to the hardware".


The upper levels reduce complexity, making it easier for human beings to 
write powerful and sophisticated programs that work correctly.  If you 
learn a little C++, a little Perl, a little Python, a little Ruby, etc., 
you will never reach the highest levels.  Therefore, I'd advising 
picking one high-level language and mastering it (similar to martial 
arts or musical instruments).


David

[1] http://hop.perl.plover.com/




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42e04e4b-3726-ab4b-e1d8-3ac6013c432c>