"Simple" Languages in FreeBSD

Allen bsd_atog at comcast.net
Fri Jul 1 18:23:25 UTC 2016


On Fri, 1 Jul 2016 12:41:58 -0400
Robert Hall <rjhjr0 at gmail.com> wrote:

> On 6/30/16, Allen <bsd_atog at comcast.net> wrote:
> > I've been using FreeBSD on and off since 4.0-CURRENT, which seems
> > like almost a lifetime ago now, heh. I'm currently using FreeBSD
> > 10.0-RELEASE and even though I've gotten my latest order from the
> > FreeBSD Mall (Which I bought 10.3-RELEASE on DVD along with a bunch
> > of other stuff for myself and my Wife) I'm not ready to upgrade yet
> > since I've gotten my system working how I like (Got WindowMaker set
> > up, and FVWM2, and some other stuff set up) so I'm using it for now.
> >
> > Anyway, in all these years that have passed using FreeBSD and a
> > bunch of Linux distros, I never had time or patience enough to learn
> > Programming Languages, and I'm getting more and more to the part
> > where I'm thinking it's a good idea more so now than before.  
> 
> Why is it a good idea now? If you just want to automate things on a
> few computers, sh will run on any *nix box without installing
> additional software. If you want to create GUIs in X, you'll need
> something more complicated.

Before I respond too much, I wanted to say thanks to everyone that took
the time to reply, again, thank you. Any input is appreciated. 

OK, the reason I'm thinking now is a better time, quite simply, I'm 33
years old now, and I've wanted to learn Coding in some way for a very
long time, and before recently, I really Honestly think that a part of
the reason I never learned, is that all through school, I always did
terrible in Math. I mean REALLY bad. I failed Math all the time and I
made the mistake of falling into thinking that "Well some people
aren't good at Math, and I'm one of them, and so I suck at Math" and
so on. The mistake being that I Believed that after a while, fully
ignoring the fact that I never stuck with anything long enough to
really learn it.

I bought myself "Teach yourself C++ in 24 hours" and at the
recommendation of a friend, bought myself "Teach yourself Visual Basic
in 24 Hours" and later on in life, after getting into Linux, BSD, and
Unix in general, I wanted to learn C, and bought myself a C book, and
then Perl, and as I mentioned I downloaded a bunch of different Books
about everything from Unix books, BSD Books, Linux Books, Unix
Security which I'm very much into, and basically anything to do with
Unix or BSD in general I grabbed it. 

My problem seemed to be that when I'd get lost in a Coding Book, I'd
eventually give up. That, looking back, was a major mistake. I did
eventually go to College after getting a GED (Got kicked out of High
school for poor grades right after 10th Grade and so I had to go to an
Adult Learning Center, and I tested out of everything eventually) when
I started College I knew I wanted to do something in Computer Science,
and the two classes I took that I did the best in were Operating
Systems, and Security + (The Security + Class was a course designed to
help you take that Certification and so on) and I also took a C++
Class thinking that maybe if I had an instructor that could help
answer my questions I'd do better. 

I eventually had to drop that course, and, I gave up again. So I've
got hundreds of books on everything you could imagine, and my goal is
one day to be able to work on BSD. I'm good with Security and I've
always been interested in how that works, and I even wrote the
Password Policy that's in use at my old College. It was a Mid Term
Paper I did and the Systems Admin happened to be in my class. 

The Operating Systems Course was my other area of Enjoyment, and I've
always liked messing with Operating Systems, I collect them as well
and I've installed and ran everything from PC-DOS (Mind you, I didn't
even have a Computer until September of 1999, and I know that because
of an account I made online WAYYY back in the first week of getting my
first PC) and I even used BeOS heh. Which I did love by the way ;) )

Sorry about the length of this but I'm trying to make sure I give
enough info as to how and why I asked my question and what's lead up
to it.

I'm thinking Shell Scripting may be a good place to start as you said,
and you're right, I do NOT have the whole string of Logic thing down
really. And you're also right in saying that every book or text on
Coding seems to assume you already know this. 

One of the reasons I had thought about Perl, Python, and Ruby, for
Perl, I wanted to learn that because I'd read that it was easier to
start with, but mainly, I have a book called "FreeBSD Unleashed, 2nd
Editon" and in that book, which is terrific by the way, it has a
chapter for Shell Scripting, and then, theres a Chapter dedicated to
Perl.

That book said that if you want to really get into FreeBSD that you
should have at the very least, a basic understanding of Perl Scripting
because it says some of the FreeBSD Configuration stuff was actually
Perl. Mind you this book covers 4.0 and 5.0, but again, if FreeBSD
uses Perl for anything, then I'd like to at least learn enough Perl
that I could be a FreeBSD System Admin. 

My Goals as far as Coding / Programming goes, personally one day I'd
like to eventually be able to to Kernel Programming, or at least know
how to. Which I think is possible, but will take a long time and hard
work, and I'm OK with that, because it's something I really want.

From what I've seen so far, Shell Scripting is the first step, and
would teach me Logic Stringing and so on, and of course, that book
"FreeBSD Unleashed 2nd Edition" does say that for Shell Scripting,
it's a good starting point because I'd be using Commands that I'm
already familiar with, so it's not as big of a learning Curve. So I
have thought about that as well. 

I really like Zsh. I have that installed on every machine I use. I
started out like most people do, with Bash on Linux, and Csh / TCsh on
BSD, and from what I've read, Csh based Shells are not ideal for
Scripting, and that Bourne based Shells are the way to go for that.  

> Pick something that you're likely to use a lot. Any language that you
> know well will be more powerful than a language you don't know well.

For that, I know that Shell Scripting would serve purposes in that
respect no matter which Unix based OS I use, and Perl works on
everything as well. I've been told by a lot of people to go for Perl,
and the same number have said to use Python, and myself, I liked what I
was able to learn in Ruby, in the amount of time. I was reading a book
about Ruby, and it started out by telling me to load IRB, and that way
I could type things and make things happen as I went along, which is
good because I was at least understanding what was going on. 

Eventually I want to learn C, and some day, if possible, I'd like to
learn Assembler just to get an idea of how the differences between
i386, i486, i586, i686, and MIPS, and basically learn the ins and outs
of old Sun hardware and Apple Hardware and SGI stuff. But really the
main goal I'd like to get to, is knowing C, but I've also learned that
before I learn C, I need to learn something simpler in terms of how it
works, like Perl, Python, Ruby, Shell Scripting, and so on, and once
I've gotten decent at one or two of those, I figured that would teach
me the Logical parts required for higher end things like C. I have read
a lot about Perl, and Ruby, and Python, and so I do know that any of
those three would be usable for more than just simple little Scripts,
and once I've learned maybe two of those, I figure it'll make learning
C easier.

Sorry again for the length of this, it's not meant to irritate anyone,
but I thought the question as to why now all of a sudden did I want to
start learning this stuff was a valid question, and without going into
a bit of History I didn't know of any other way to answer that
question, so again, sorry about the length and chunk of my life story I
typed out, but I thought if I gave some history it would make the
reasons a bit more clear.

Thank you everyone who replied, I value the opinions,

-Allen


More information about the freebsd-questions mailing list