Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Jul 2016 15:17:55 -0453.75
From:      "William A. Mahaffey III" <wam@hiwaay.net>
To:        freebsd-questions@freebsd.org
Subject:   Re: "Simple" Languages in FreeBSD
Message-ID:  <2363f6ed-3953-1105-dca7-a9c559db2149@hiwaay.net>
In-Reply-To: <20160701142250.2588c637@KoggyBSD.org>
References:  <20160630175243.063e07a7@KoggyBSD.org> <CAJmZaS18Dgn5rBCBYr748ikSxncRYedpQOX69pb3_TwVM5OwEw@mail.gmail.com> <20160701142250.2588c637@KoggyBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 07/01/16 13:29, Allen wrote:
> On Fri, 1 Jul 2016 12:41:58 -0400
> Robert Hall <rjhjr0@gmail.com> wrote:
>
>> On 6/30/16, Allen <bsd_atog@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
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"


I held my tongue once I saw the kinds of replies coming in, but here 
goes: The C programming language, Kernighan & Ritchie. Teaches 
programming paradigms & language in 1 svelt(sp?) swoop. Also a small 
tome, around 260 pgs, including appendices. Mine is 2nd edition, 1988, I 
don't know if there are newer editions, but that one works for me to 
this day. If you understand (*REALLY* understand) this book, anything 
else will be an easy add on & you will be able to at least get into very 
credible trouble kernel hacking, since all of the OS/kernel stuff is 
(still, I believe) written in C. You can also write very good OO code in 
C (see X11, at least early versions were written in C & were *VERY* 
object oriented). My $0.02, no more, no less ....


-- 

	William A. Mahaffey III

  ----------------------------------------------------------------------

	"The M1 Garand is without doubt the finest implement of war
	 ever devised by man."
                            -- Gen. George S. Patton Jr.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2363f6ed-3953-1105-dca7-a9c559db2149>