"Simple" Languages in FreeBSD - UPDATE

David Christensen dpchrist at holgerdanske.com
Sun Jul 3 21:30:16 UTC 2016


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/



More information about the freebsd-questions mailing list