LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 04-16-2014, 05:24 PM   #1
Tadaen
Member
 
Registered: Sep 2005
Distribution: Arch
Posts: 210

Rep: Reputation: 39
Good way to learn, best to start with?


I have been taking fairly strong psychiatric meds for 12 years now give or take. While they keep me stable they have affected things like my memory and I'm beginning to see my learning ability as well to a small degree.

I would like to learn programming of some type to be able to work again. I am trying to learn by myself but I just don't learn well when I'm solo.

I guess the question is... What is a good language to start with that I can try to grasp without instruction other than google? I have tried Python, it gets confusing very quickly and google actually confuses me more sometimes. Lua is scripting but I am interested in it as I know what it is capable of from my years of playing WoW.

I have hopes that there is a relatively simple language that I can grasp that will help me to work my way up so to speak. Ultimate goal of C and C++ to do both something for work as well as contribute in some way to the open source community.

*EDIT* My situation does allow for me to take classes at a community college if needed but going over their classes I'm not sure which classes will take me where I'd like to go.

Last edited by Tadaen; 04-16-2014 at 05:26 PM.
 
Old 04-16-2014, 05:40 PM   #2
Luridis
Member
 
Registered: Mar 2014
Location: Texas
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616

Rep: Reputation: 167Reputation: 167
I've written scripts and programs for years, going all the way back to using BASIC and 6502 Assembly on my trusty Commodore 64. I can give you a couple of pointers...

1. While the syntax changes from language to language, the semantics are largely the same. In compilers, languages are usually translated to a common notation before they're sent off to generate assembly. (There are exceptions, but this is just an 2 minute explanation.) So, you're going to see the same functional ideas across many langauges: Loops, switches, references of some kind, primitives, etc. The funky characters and quotations may change, but For-Next pretty much works the same across the board.

2. You learn this stuff by doing. So start writing stuff, simple stuff, that you have a use for. And, find a language you're comfortable with. You're going to get stumped, a lot... that's normal. Trial and error is your best weapon to learn, looking stuff up will be quicker, but if you figure it out yourself then you will have really learned the process of why x worked and y did not; instead of just learning that y is "correct".

3. Everything is a metaphor, none of this really exists, it's all conceptual. A good free book on programming concepts in general is: The Structure and Interpretation of Computer Programs, from MIT press. It's an introductory Computer Science book that's used all over.

That last one may be the place to start, because understanding the basic premise of what's going on is an initial hump a lot of people have troubles going over. Like learning hand-eye coordination while learning a particular sport or craft.

Last edited by Luridis; 04-16-2014 at 05:47 PM.
 
Old 04-16-2014, 05:48 PM   #3
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,222

Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
Learning Lua and using it to write scripts for WOW would be a fine goal.
 
Old 04-16-2014, 05:56 PM   #4
Luridis
Member
 
Registered: Mar 2014
Location: Texas
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616

Rep: Reputation: 167Reputation: 167
What dugan, said...

"I want to write a web browser" or "I want to write a replacement for X11."

Is something sure to send you screaming from the room in just a couple of days.
 
Old 04-16-2014, 06:05 PM   #5
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,222

Rep: Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320Reputation: 5320
Quote:
Originally Posted by Luridis View Post
"I want to write a web browser"

Is something sure to send you screaming from the room in just a couple of days.
If writing a web browser is really something you're interested in, start here:

How Browsers Work: Behind the scenes of modern web browsers

My impression of Lua is that it's the simple language that every beginner to JavaScript thinks JavaScript is. Lua also has what's arguably the easiest game engine: https://love2d.org/

Last edited by dugan; 04-16-2014 at 06:10 PM.
 
Old 04-16-2014, 06:09 PM   #6
metaschima
Senior Member
 
Registered: Dec 2013
Distribution: Slackware
Posts: 1,982

Rep: Reputation: 492Reputation: 492Reputation: 492Reputation: 492Reputation: 492
Learning bash is an option. It's reasonably easy to learn and quite powerful. It is my preferred language for everything except those things it cannot do easily or efficiently, for which I use C instead.

I'd have to agree that Python can be confusing, I especially don't like dealing with the white-space / indent issues. You could try Perl instead, but it is not too much easier to learn than Python. It is closer to C/C++ syntax, and somewhat easier to learn than C/C++. You can do plenty with it, and there are plenty of modules available. The only issue is that most Linux programs are still C/C++, so you may just want to learn that instead.

I too would like to write a web browser ... I just don't want to do it myself. I think I'll hire some programmers instead.

Last edited by metaschima; 04-16-2014 at 06:10 PM.
 
Old 04-16-2014, 06:13 PM   #7
Luridis
Member
 
Registered: Mar 2014
Location: Texas
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616

Rep: Reputation: 167Reputation: 167
LOL, no I wasn't suggesting that's something I'd do at all (write browser). I was saying its a huge task... my current focus is on replacing this:

http://users.telenet.be/geertu/Linux/fbdev/

It's no longer maintained. I came in to find books on C safety, since this will be my first real attempt at using it.
 
Old 04-17-2014, 09:10 AM   #8
Habitual
LQ Veteran
 
Registered: Jan 2011
Location: Abingdon, VA
Distribution: Catalina
Posts: 9,374
Blog Entries: 37

Rep: Reputation: Disabled
Need some advice from Linux SysAdmins: where is the best place to start?
The best answer I have ever seen on this or any forum.

Last edited by Habitual; 04-17-2014 at 09:11 AM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Good distro to learn with? amantonas Linux - Distributions 27 12-30-2011 08:34 PM
Good guides to learn C <?Script Programming 6 12-25-2011 10:41 AM
Just a good thing to learn... paicolman LinuxQuestions.org Member Success Stories 1 11-02-2004 10:36 AM
It is good to learn everything but... eaglegst Slackware 5 12-04-2003 12:47 PM
Good Book to learn qennster Programming 2 10-12-2001 09:14 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 02:27 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration