From owner-freebsd-questions@freebsd.org Fri Jul 1 19:26:50 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 3D4FAB8FFDD for ; Fri, 1 Jul 2016 19:26:50 +0000 (UTC) (envelope-from m.e.sanliturk@gmail.com) Received: from mail-oi0-x235.google.com (mail-oi0-x235.google.com [IPv6:2607:f8b0:4003:c06::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0028E2016 for ; Fri, 1 Jul 2016 19:26:49 +0000 (UTC) (envelope-from m.e.sanliturk@gmail.com) Received: by mail-oi0-x235.google.com with SMTP id s66so123723462oif.1 for ; Fri, 01 Jul 2016 12:26:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=7RU2RAvDyT/2C6tBajqiEB8tJr8Gyg7fzEacc322ZEI=; b=oTXiJxr5bDGgENE0UZLI9ONCohhBmOVdbqPpaZu+9cA1SoJVB8aDPsbO/n6bhSLe+m obQ95BkgUA7Qvp0zXDnQKSrzoqMOBWw0h63IGzpUashw4pPwC8iIvIHDSxvW9zelaDBK KsvQh+bgLSbc1ncLQxymTZHOSVg5OQcBTSRJlsOX9zw7qmOLKxw9fv5mvFvKdceWyJFj kWhQwCh5zufvkdvtC19vxrcriktErLbBYmr44P4GKGsD6SyTbg/Od7PPwPUEh+5ZPYFK aMHsnn4jnZI/Zgi5ABSZndH1eLYlJvadEFC3LxW3rX52MOrxWSn2zLRPxL39bls/PdZK vhwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=7RU2RAvDyT/2C6tBajqiEB8tJr8Gyg7fzEacc322ZEI=; b=kKGD/K1fcQGhHBD2dcK4Bu6o/Rnu5GHRuQ3GpCKiT0kkuH+wGd0918Sy+NDW+O7mxA a+QcivjQfp0LtF7DfW2vXFwxfx3go2XYEW6STVkfV1/SQGm00LeNzWT1HowElmfefDBn Kc9zqvpA425n2XT7/wM89+pTClH+GQQSf06CkY44QBJaM2Ztgz2dSDyXvJO6DFVx66FQ wit6VNBJiMzXva7xeC5hitvDkvLZUtO3eFRPfR9vYDkhNTjA6CfMIJL9nWZTMTUf+Yms VNwqIOsKMdjObpdYcSojuAyKZft1ejv85kI6xY+aEjgYaNhEu97OTQHE6bd/mcjrWom6 yFdg== X-Gm-Message-State: ALyK8tIcvEag+ZouUuue8LEFO3sbpnNQHF/OUPEs+SrJWrujLbhqpW3xfBgLvOl0OoVP+9UbA6uDOS1V1MzSBA== X-Received: by 10.157.63.234 with SMTP id i39mr15166742ote.170.1467401208994; Fri, 01 Jul 2016 12:26:48 -0700 (PDT) MIME-Version: 1.0 Received: by 10.157.42.225 with HTTP; Fri, 1 Jul 2016 12:26:48 -0700 (PDT) In-Reply-To: <20160701142250.2588c637@KoggyBSD.org> References: <20160630175243.063e07a7@KoggyBSD.org> <20160701142250.2588c637@KoggyBSD.org> From: Mehmet Erol Sanliturk Date: Fri, 1 Jul 2016 12:26:48 -0700 Message-ID: Subject: Re: "Simple" Languages in FreeBSD To: Allen Cc: FreeBSD Questions Mailing List Content-Type: text/plain; charset=UTF-8 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 19:26:50 -0000 On Fri, Jul 1, 2016 at 11:22 AM, 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 read all of the messages in that thread up to now . All of the messages were very helpful . At the beginning , I could not understand your question very well because of lack of sufficient information for me . Now , I think , everything is clear . Please do not consider my opinion against your thoughts or in any way to blame your approach . I am just trying to mention other possible points . My profession at the beginning was "Elementary School Teacher" , and then become an Instructor about Computer Programming in a University . My University graduate subject was Mathematics , and then Computer Sciences . Let's start from Mathematics . If you are able to learn a second language , you are able to learn Mathematics because "Mathematics is language of Sciences" . Assume your mother language is English , and you are learning French . Mathematics learning is very similar to this process with a different language like German . The method is that Mathematics should be thought and learned like "Second Language Teaching or Learning" . When this method is not followed , teaching and learning Mathematics is very difficult , otherwise very easy with sufficient study . > 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. > Here the problem is that learning a programming language requires a sufficiently long amount of time . In a University , in a Programming Language course , additional to course lecture hours , it is necessary to work at least fifteen more hours as external study with program writing exercises . Without writing programs about problems ( carefully designed for the course ) it is not possible to learn any programming language in sufficient expertise to use it . This will teach how to use the programming language . Then , it is necessary to learn theoretical subjects where the programming language will be used . For example , if you want to write data processing programs , it is necessary to learn data structures , file structures , etc. With the above explanations , I can say that I hate books such as "Learning ... in a few Hours or Days ". There is no such a possibility . > > 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 > _______________________________________________ > > >From your last explanations , my understanding is that , your PRIMARY goal is to use FreeBSD in a professional way . My opinion is that you can learn a shell language by yourself by using books . This will allow you to use operating system facilities easily especially by using scripts . After that , please select your main application area such as data processing , numerical analysis , statistical analysis , data base applications , graphics , text processing , etc . This selection will be useful for selecting the programming language to use . For example , if your main goal is to analyze data statistically , choice of R programming language will be more appropriate . If you want to perform data base application a language suitable may be SQL . For text processing Perl will be more suitable . If my understanding is correct , and your desire to learning C , you may follow a serious course about C programming language . Some universities are allowing "Special Student" application for University graduates . Such facilities may be used . Or , some Universities have online courses open to public . You may follow such courses . Another important point is the following : If two programming languages are "Turing Complete" and "Resource Complete" , these two languages are theoretically equivalent . Differences are in only how they are used . Therefore , important point is to select the programming language as suitable your tasks to be programmed . You are young and I think your future will be good if you do not lose your interest and consistently you try to achieve your goals . With my best wishes , Mehmet Erol Sanliturk