LinuxQuestions.org
View the Most Wanted LQ Wiki articles.
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 11-06-2011, 02:12 PM   #16
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,544
Blog Entries: 1

Rep: Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001

Typical The OP is probably more confused than he/she was before starting this thread.

asipper, based on the fact that you provided no additional information whatsoever as to what kind of programming you're talking about, it's kind of hard to answer your questions. Having said that, perhaps you could read something about Python or C to see where they are typically used and decide for yourself. Either choice is good in its own way.
 
Old 11-07-2011, 12:25 AM   #17
TheIndependentAquarius
Senior Member
 
Registered: Dec 2008
Posts: 4,619
Blog Entries: 29

Rep: Reputation: 896Reputation: 896Reputation: 896Reputation: 896Reputation: 896Reputation: 896Reputation: 896
Quote:
Originally Posted by asipper View Post
What's a good first programming to learn?
IMO, you should quit the hunt for the "best" language,
and start the search for the "kind" of software you
would like to develop.
Then, when you decide that you want to develop X kind of
softwares in future, you should start a new thread for asking
probably "Which is the best language for developing X software?"

Also, instead of focusing on a language until you get your
goal decided, IMO, it is better to study the concepts like
object oriented programming, design patterns, etc. and
think about the areas where you can actually apply them.
IMO, you'll be able to do all that once you decide which
software to develop.

Right now since you don't have any goal, it a probability (IMO)
that you won't be able to figure out what to use when.

IMO, it is better to find a problem first and then a solution,
rather than doing it vice versa.
 
1 members found this post helpful.
Old 11-07-2011, 12:36 AM   #18
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 233Reputation: 233Reputation: 233
Quote:
Originally Posted by Anisha Kaul View Post
IMO, you should quit the hunt for the "best" language,
and start the search for the "kind" of software you
would like to develop.
Good idea - searching for "best language" is a common newbie mistake anyway - people waste weeks searching for "the best language", asking questions instead of using that time to learn ANYTHING.

Quote:
Originally Posted by Anisha Kaul View Post
Also, instead of focusing on a language until you get your
goal decided, IMO, it is better to study the concepts like
object oriented programming, design patterns, etc.
That'll be a bad idea. Concepts you listed are very complex and are not suitable for a newbie in any way. Somebody without previous programming experience should learn loops, variables, functions and conditionals first. For some people learning even that is very difficult. I still remember conversation I overheard few years ago - two students had real trouble understanding what "integer" is and how it is different from "float". For me it was obvious. For them it wasn't.
 
Old 11-07-2011, 01:03 AM   #19
TheIndependentAquarius
Senior Member
 
Registered: Dec 2008
Posts: 4,619
Blog Entries: 29

Rep: Reputation: 896Reputation: 896Reputation: 896Reputation: 896Reputation: 896Reputation: 896Reputation: 896
Quote:
Originally Posted by SigTerm View Post
Concepts you listed are very complex and are not suitable for a newbie in any way.
IMO, it also depends on the book/material you are referring to, while
studying those concepts. Example: I could never understand the AStar
algorithm during the MCA period, and it took me exactly 6 minutes to
understand it few months back (since accidentally I had hit upon a
power point presentation which had explained it ONLY diagrammatically).

Also, for example the under hood working of virtual functions starting
making sense only after I read it from the Thinking in C++.

Of course the concepts are difficult but having a "proper" reading
material helps tremendously, IMO.

Quote:
Originally Posted by asipper View Post
To get better answers.
To get better answers, it is better to write a NEW post, explain the
situation in more detail, question if you don't understand the writer's
reasoning, and thank the people who helped you so far.
Editing an old post silently is UNhelpful in the current case.

Last edited by TheIndependentAquarius; 11-07-2011 at 02:24 AM.
 
Old 11-07-2011, 01:19 AM   #20
SigTerm
Member
 
Registered: Dec 2009
Distribution: Slackware 12.2
Posts: 379

Rep: Reputation: 233Reputation: 233Reputation: 233
Quote:
Originally Posted by Anisha Kaul View Post
IMO, it also depends on the book/material you are referring to while
studying those concepts.
IMO, you greatly overestimate knowledge/abilities of a newbie. Metaphorically speaking, you're asking a person that hasn't yet learned how to walk to do some acrobatics. There's time for everything, and knowledge you mentioned requires solid foundation - understanding of variables, base data types (int/float/string/char) and flow control. Without that there will be no OOP and no design patterns. The perfect language to get this kind of understanding is assembler. The problem is that it shouldn't be an IA32/64 assembler, but some kind of "toy" assembler, that has small number of commands. There should be something like that available, but I can't recommend anything specific - programmable calculator, perhaps? Or Z80/8086 assembler? Or it should be possible to learn same thing using C or some kind of BASIC, although, but it'll probably take longer. If assembler is "too scary", sticking with C for a start might be a good idea.

Quote:
Originally Posted by Anisha Kaul View Post
AStar algorithm during the MCA period
You weren't learning "AStar algorithm" at the first day you ever run a compiler, right? There's no reason to "run in front of the train".

Last edited by SigTerm; 11-07-2011 at 01:31 AM.
 
1 members found this post helpful.
Old 11-07-2011, 01:32 AM   #21
Nylex
LQ Addict
 
Registered: Jul 2003
Location: London, UK
Distribution: Slackware
Posts: 7,464

Rep: Reputation: Disabled
Quote:
Originally Posted by asipper View Post
Also I heard python is a bad first language because the syntax is a lot different then other languages so it makes it hard to switch.
As Anisha says, you shouldn't just edit your first post as people won't be aware (I only realised because of her post). I don't think syntax is a major issue. The different elements that programming languages contain (control statements, loops, arrays, for example) are common to all languages and while the syntax is different, you'll more or less be able to work out what's going on. Once you've learnt one language, you'll find learning another one isn't too hard.

Also, there's a typo in your post: you mean "than", not "then".
 
Old 11-07-2011, 01:40 AM   #22
TheIndependentAquarius
Senior Member
 
Registered: Dec 2008
Posts: 4,619
Blog Entries: 29

Rep: Reputation: 896Reputation: 896Reputation: 896Reputation: 896Reputation: 896Reputation: 896Reputation: 896
Quote:
Originally Posted by SigTerm View Post
knowledge you mentioned requires solid foundation - understanding of variables, base data types (int/float/string/char) and flow control. Without that there will be no OOP and no design patterns.
I agree. I realize even for learning OOP concepts and DPs, you need to "visualize"
things. You need to "visualize" the functions, variables, and the flow. Even the
easiest of the books (w.r.t topics I mentioned) show examples pertaining to
"programming" only.

As you said, I have also heard that those who know the Assembly language
can understand the errors of the higher level languages better.

Quote:
Originally Posted by SigTerm View Post
You weren't learning "AStar algorithm" at the first day you ever run a compiler, right?
Right, and I was learning C, and I had no idea why I was being "made to"
learn it. Probably learning AStar before C would have been more helpful.
At least, I could have implemented AStar in C then. ;p

We were actually made to learn Foxpro, C, Qbasic, Vbasic, Java, etc. without
even making us realize why the hell we were learning them (BCA)!!

Last edited by TheIndependentAquarius; 11-07-2011 at 01:46 AM.
 
Old 11-07-2011, 02:36 AM   #23
AnanthaP
Member
 
Registered: Jul 2004
Location: Chennai, India
Distribution: UBUNTU 5.10 since Jul-18,2006 on Intel 820 DC
Posts: 607

Rep: Reputation: 127Reputation: 127
In general,
people have made two important points.
(1) Use what others in your area/group use (post #5)
Quote:
And the best programming language to learn is the one that some people you know also know or are learning right now :-)
(2) In any language learn the basic skills at two levels
(1) Very basic skills like loops, etc.
(2) Slightly advanced like set theory, regular expressions, etc

To all non-Indians.
MCA is Master Of Computer Applications. Likewise BCA is bachelor of Computer Applications. BCA is under-grduate and MCA is graduate school. Other similar Indian degrees are M.Sc (Master of Science) and B.Sc (Bachelor of Science).

OK

Last edited by AnanthaP; 11-07-2011 at 02:37 AM.
 
Old 11-07-2011, 05:37 AM   #24
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 453Reputation: 453Reputation: 453Reputation: 453Reputation: 453
Quote:
Originally Posted by asipper View Post
What's a good first programming to learn? Is C good? I'm thinking it's a good first language because it's powerful and the syntax is like C++ and I think java? Also what are good books to learn it. Also I only have Linux/Mac machines so I can't learn Visual Basic.

EDIT:I really just want to have a fun easy language that is useful. Also I heard python is a bad first language because the syntax is a lot different than other languages so it makes it hard to switch.
Better start from here: http://www.cs.bham.ac.uk/research/pr.../lecture1.html .

And then http://en.wikipedia.org/wiki/Compari...ming_paradigms , http://en.wikipedia.org/wiki/Functional_programming , http://en.wikipedia.org/wiki/Imperative_programming , http://en.wikipedia.org/wiki/Procedural_programming , http://en.wikipedia.org/wiki/Object_...ed_programming , etc.

I.e., in a sense, you are asking a wrong question.

OTOH, starting with something like "C" is a good thing because you from the getgo realize what the costs are. And, if we are talking about "C", always have its standard by your side: http://www.open-std.org/JTC1/SC22/wg...docs/n1124.pdf - it is surprisingly user friendly, though it does not replace a book on programming. OTOH, the standard is the ultimate truth regarding the language.
 
2 members found this post helpful.
Old 11-07-2011, 06:14 AM   #25
looop
Member
 
Registered: Oct 2011
Location: Denmark
Distribution: Slackware - Mac OS X Lion - RedHat 6 - MS Win 2003 server - A/UX - FreeBSD - FreeNAS - pfsense
Posts: 75

Rep: Reputation: Disabled
I started by learning a Object oriented programming language (C++), which I think was wrong.
I would start by learning C, Then get the understanding of Assembly, then move on to a Functional programming language (HASKELL for instance) and Then a Object Oriented programming language I would recommend Ruby, and then (if need) a script language (Just please don FLASH)
 
Old 11-07-2011, 07:01 AM   #26
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,544
Blog Entries: 1

Rep: Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001Reputation: 1001
Quote:
Originally Posted by AnanthaP View Post
In general,
people have made two important points.
(1) Use what others in your area/group use (post #5)

OK
It's a valid point, however, I took a slightly different approach. I don't have any computer degree and have a relatively satisfying job (unrelated to programming or Linux). I promised myself that before I die, I'll become a real expert in a programming language. If it eventually becomes my job, great. If not, still good. I asked myself: do I want to become the 1000000th perl/C/Python, etc. developer in London? I started reading on Common Lisp and thought why not? So far I've been enjoying it. I don't have much time for study though so my progress is rather slow.
 
1 members found this post helpful.
Old 11-07-2011, 03:45 PM   #27
asipper
Member
 
Registered: Oct 2011
Distribution: Fedora 17
Posts: 138

Original Poster
Rep: Reputation: 0
@Anisha Kaul By to get better answers I meant to make it more detailed. I'm really sorry it's so vague I really don't know what I want to do with programming. I think that maybe I'll get an idea when I learn a language. And from now on I'll put it into separate posts.
 
Old 11-07-2011, 03:46 PM   #28
asipper
Member
 
Registered: Oct 2011
Distribution: Fedora 17
Posts: 138

Original Poster
Rep: Reputation: 0
Also is K and R (i think)'s book on C programming worth the money. Are there better books for a newbie?
 
Old 11-07-2011, 04:04 PM   #29
cheesus
Member
 
Registered: Jan 2005
Location: Munich, Germany
Distribution: SuSE
Posts: 183

Rep: Reputation: 25
Well, since you're not aiming for a univerity degree, I'd start with a "...for dummies" book which are
usually more pleasant and lightweight to read that the scientific stuff.
http://www.dummies.com/store/product...Id-322467.html

Also, as said before, the "Teach yourself ... in 21 days" are lighter reading, yet informative.
http://www.amazon.com/Sams-Teach-You...0703411&sr=8-3

(examples are for Java, both both brands have books for many things)
 
Old 11-07-2011, 05:23 PM   #30
TheIndependentAquarius
Senior Member
 
Registered: Dec 2008
Posts: 4,619
Blog Entries: 29

Rep: Reputation: 896Reputation: 896Reputation: 896Reputation: 896Reputation: 896Reputation: 896Reputation: 896
Quote:
Originally Posted by asipper View Post
I'm really sorry it's so vague
I never complained on the post's vagueness. If you are NOT a native
English speaker and can't understand the posts, I think it is better
to ask rather than assume.

Quote:
Originally Posted by asipper View Post
I really don't know what I want to do with programming.
Perhaps reading and understanding the post 17 and its follow up
posts, would help.
But as they say, you can just take a horse to water, you can't make him drink.

Last edited by TheIndependentAquarius; 11-07-2011 at 05:42 PM.
 
  


Reply

Tags
easypeasy, program


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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
What is the best programming language to learn jax8 Programming 25 04-04-2010 10:21 AM
What are some good resources to learn assembly Language? theunixwizard General 16 07-24-2008 03:27 AM
Which Programming Language to Learn? BlahBlah_X Programming 6 06-19-2007 08:12 AM
Is Python a good language to learn for a newbie to programming? prophet621 Programming 2 05-19-2003 03:48 PM


All times are GMT -5. The time now is 04:20 PM.

Main Menu
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
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration