From owner-freebsd-questions@freebsd.org Fri Jul 1 20:12:34 2016 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E0BF3B8FAA2 for ; Fri, 1 Jul 2016 20:12:34 +0000 (UTC) (envelope-from wam@hiwaay.net) Received: from fly.hiwaay.net (fly.hiwaay.net [216.180.54.1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A183F2935 for ; Fri, 1 Jul 2016 20:12:34 +0000 (UTC) (envelope-from wam@hiwaay.net) Received: from kabini1.local (dynamic-216-186-209-65.knology.net [216.186.209.65] (may be forged)) (authenticated bits=0) by fly.hiwaay.net (8.13.8/8.13.8/fly) with ESMTP id u61KCPK1013607 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Fri, 1 Jul 2016 15:12:26 -0500 Subject: Re: "Simple" Languages in FreeBSD To: freebsd-questions@freebsd.org References: <20160630175243.063e07a7@KoggyBSD.org> <20160701142250.2588c637@KoggyBSD.org> From: "William A. Mahaffey III" Message-ID: <2363f6ed-3953-1105-dca7-a9c559db2149@hiwaay.net> Date: Fri, 1 Jul 2016 15:17:55 -0453.75 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: <20160701142250.2588c637@KoggyBSD.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.22 X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2016 20:12:35 -0000 On 07/01/16 13:29, Allen wrote: > On Fri, 1 Jul 2016 12:41:58 -0400 > Robert Hall wrote: > >> On 6/30/16, Allen 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.