From owner-freebsd-questions@freebsd.org Fri Jul 1 18:23:24 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 EF2C1B8F4A2 for ; Fri, 1 Jul 2016 18:23:24 +0000 (UTC) (envelope-from bsd_atog@comcast.net) Received: from resqmta-ch2-08v.sys.comcast.net (resqmta-ch2-08v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:40]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "resqmta-po-01v.sys.comcast.net", Issuer "COMODO RSA Organization Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B478C2839 for ; Fri, 1 Jul 2016 18:23:24 +0000 (UTC) (envelope-from bsd_atog@comcast.net) Received: from resomta-ch2-08v.sys.comcast.net ([69.252.207.104]) by resqmta-ch2-08v.sys.comcast.net with SMTP id J35hbuhNolVqIJ362bNaxn; Fri, 01 Jul 2016 18:23:22 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20140121; t=1467397402; bh=wncqyKtO1KgPu2OqREQffyINrVYmOJ9qHqiNax3CXO0=; h=Received:Received:Date:From:To:Subject:Message-ID:MIME-Version: Content-Type; b=IEjioXrPporT/T9JAZ5QLYBc+nA3LkZxrwUO/GdCxr9ywheh3D6raAgmIpud6aB/C /QKM5Tk5z+VzUElIUaHytH0cJdfFKRps2VM13NvYhlSdxx4t3xxa7cv69CIK+3IeTW k2u0P6Py6h/p/7/fJliV3f4Wq6GmQBrVeZpG7T+dgJE2tEdWo6A1K6iQMlHCXlNc+a 4v7DSHfUdlnd2IbC/qtxJ3jWRboehVlaq2U6aBN8uj7Rewr2miLrUGcn/a7zqFEPdv JuvqG7IjvAx0QLpiCkba48ScDWFX/B8itHqn/fKP8zQoCF3r7VMTiJAr6uy3CMGsHZ 0qYuJA8r7eWWg== Received: from KoggyBSD.org ([68.60.93.182]) by resomta-ch2-08v.sys.comcast.net with comcast id DWPM1t00E3w4emU01WPNqT; Fri, 01 Jul 2016 18:23:22 +0000 Date: Fri, 1 Jul 2016 14:22:50 -0400 From: Allen To: freebsd-questions@freebsd.org Subject: Re: "Simple" Languages in FreeBSD Message-ID: <20160701142250.2588c637@KoggyBSD.org> In-Reply-To: References: <20160630175243.063e07a7@KoggyBSD.org> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.29; i386-portbld-freebsd10.1) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable 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 18:23:25 -0000 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. =20 >=20 > 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.=20 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.=20 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.=20 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.=20 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.=20 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.=20 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. =46rom 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.=20 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. =20 > 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.=20 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