LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
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


Closed Thread
  Search this Thread
Old 04-04-2007, 10:09 PM   #16
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148

Quote:
Originally Posted by cigarstub
All the advise seemingly come from people who want to keep their precious secret that they paid dearly to possess.
I'm not entirely convince by that argument. The point is there is no single answer to your question. Additionally hidden amongst all the replies is the sound advice of keep persevering. It is possible to give advice on what would be a good thing to learn so that you improve your skills. However we would need to know where you are at the moment. I asked two questions, if you are serious please reply to those.
 
Old 04-05-2007, 02:31 AM   #17
slzckboy
Member
 
Registered: May 2005
Location: uk - Reading
Distribution: slackware 14.2 kernel 4.19.43
Posts: 462

Rep: Reputation: 30
Think about what your saying...


The people here give of there time everyday to help people with queries etc.
For free...

Their only motivation is to share knowledge amongst
this community.

This is the last place in the world where you should accuse people of hoarding knowledge.

This isn't the matrix.
You can't simply jack in and download a training
program to learn kung-fu in 10 seconds..


Help us help you by answering graemef's questions.
 
Old 04-05-2007, 07:42 AM   #18
AnanthaP
Member
 
Registered: Jul 2004
Location: Chennai, India
Posts: 952

Rep: Reputation: 217Reputation: 217Reputation: 217
To cigarstub.

Whats the meaning of the handle "cigarstub". Why did you choose it. Think of this.

End
 
Old 04-05-2007, 11:40 AM   #19
alred
Member
 
Registered: Mar 2005
Location: singapore
Distribution: puppy and Ubuntu and ... erh ... redhat(sort of) :( ... + the venerable bsd and solaris ^_^
Posts: 658
Blog Entries: 8

Rep: Reputation: 31
it says hes actually not thinking of wanting to become a developer ... if thats is so ... then he can try reading bash(and rest , get what i mean) , perl , python , tcl etc , etc and can forget about the rest ...

use things like gtkdialog and xmessage ... by that way you can truly own something that will only show what you want to do and use ... probably stuffing a few of them(unrelated to each other) in each single "apps"(i wouldnt call that applications) ...


but ... seriously ... if you want to become a developer than i think thats another story ... probably a bit too hard or too "unneccsery" for us ...


.

[WAIT ::] i mentioned "bash(and rest , get what i mean) , perl , python , tcl " but they are in no way catering for guys like us ... but for "no-brainer" solutions ... they are good enough ...


.

Last edited by alred; 04-05-2007 at 12:44 PM.
 
Old 04-05-2007, 02:28 PM   #20
Mega Man X
LQ Guru
 
Registered: Apr 2003
Location: ~
Distribution: Ubuntu, FreeBSD, Solaris, DSL
Posts: 5,339

Rep: Reputation: 65
What about a RAD tool? Like "Delphi programming language" or "Microsoft Visual Basic"? Those tools are very good and usually very easy to pickup. I remember when I read Visual Basic at school. The book was very small and it was a lot of fun to do applications in no time.

Let's be fair here though. He is asking for the impossible: "How can I learn a new language without studying it? I don't want to have any grammar books and I don't like big dictionaries". While one can indeed learn a new language without those books, it will take longer and at the end you won't be using your new language correctly...

And since he/she is actually not replying to any question and is asking something... well, kinda "silly", IMHO (to do not mention saying "that noone is actually willing to help here)", I am two clicks away of adding him/her to my long ignore list. My "troll-detector" is telling me to watch how this thread turns out carefully...

Last edited by Mega Man X; 04-05-2007 at 06:52 PM.
 
Old 04-05-2007, 06:47 PM   #21
taylor_venable
Member
 
Registered: Jun 2005
Location: Indiana, USA
Distribution: OpenBSD, Ubuntu
Posts: 892

Rep: Reputation: 43
Quote:
Originally Posted by cigarstub
All the advise seemingly come from people who want to keep their precious secret that they paid dearly to possess. They don't want to share, can someone share with me...
You're right. The cost was time. The secret is knowledge. Unless you know of some way I can magically just copy all my knowledge to you, I can't "make you a better programmer." Have a nice day!

(Such a response to those who are honestly trying to help ... how rude!)
 
Old 04-05-2007, 07:35 PM   #22
rocket357
Member
 
Registered: Mar 2007
Location: 127.0.0.1
Distribution: OpenBSD-CURRENT
Posts: 485
Blog Entries: 187

Rep: Reputation: 74
Quote:
Originally Posted by cigarstub
All the advise seemingly come from people who want to keep their precious secret that they paid dearly to possess. They don't want to share, can someone share with me, don't tell me "find yourself", or "there is no short way". I know that I must suffer in order to learn something, but you who suffered can tell me?
What precious secret are we talking about? I must've missed that class in college.

Speaking of college, that would be a nice place to start looking for people who a) will step you through to "enlightenment" and b) get paid for it so they don't lose interest quickly. (No, I'm not kidding).

Programming is a recursion...an interaction. It isn't "ok, I know how to do this...let me do this over and over and over again." It's more like "When I do this, my computer does this, and if I change this, my computer responds with this." As such, a linear model such as "ok, I know how to post on a forum, let me do that repeatedly until I achieve the skill I desire" isn't an appropriate solution.

Now then, if you're looking for direction, then I'm sure the LQ community would respond more quickly to your questions. Instead of "show me the road, oh, and I don't want to put forth any effort", ask "I'm interested in improving my skill as a programmer. What books helped you guys?". To which, I'm sure this community would respond with a plethora of helpful information. Honestly, a good book on object oriented patterns (if applicable) or perhaps even something like "Code Complete" (yeah, yeah, I know it's M$ press, but it's a good book) would result in more help than the question you've posed.

edit - well, ok...there's another alternative...since you want stuff done "the easy way", you could always just ask at any developer meeting grounds (any distro dev channel, programming site, etc...) for them to write the code for you so you don't have to bother learning ANYTHING. That would certainly be the easiest route. (let us know if the results are any different than what you get here).

Last edited by rocket357; 04-05-2007 at 07:44 PM.
 
Old 04-05-2007, 07:45 PM   #23
indienick
Senior Member
 
Registered: Dec 2005
Location: London, ON, Canada
Distribution: Arch, Ubuntu, Slackware, OpenBSD, FreeBSD
Posts: 1,853

Rep: Reputation: 65
On a nerdier note, the world of programmers - especially OSS programmers - is not, in any way, shape or form, the Borg collective.

The closest the programmers' world comes to being like the Borg collective is the centre of all knowledge: the Internet.

If you want to learn to program, here's my few nickel's worth:
There is no easy way. I can read about programming languages, and their syntax and sematics, all I want, but in the end, the only way I can retain what I've read is to write a program, and put what I've read to use. If you want to get your name in a project on SourceForge, and do it tomorrow, with little to no programming knowledge, design interfaces using Microsoft Visual BASIC, VB.NET, or Netbeans with the Matisse module. RAD development is what you want. Eventually, you'll start learning the intricacies of programming. But simply, the best way to learn, is to do it.

I'm a fairly accomplished programmer, and I've never done anything like fixing application bugs, or modifying anyone else's source code. I create my own projects for purposes I think that need addressing, or on the request of a friend, and I work on them myself, that way I get well acquainted with how project structures work - or how I think they should work, and how every aspect of the project ties into one another - a symbiotic relationship between program modules.

Don't want to read a book to learn? Tough beans.

EDIT: I shouldn't watch ST:TNG before posting.

Last edited by indienick; 04-05-2007 at 07:47 PM.
 
Old 04-05-2007, 08:01 PM   #24
rocket357
Member
 
Registered: Mar 2007
Location: 127.0.0.1
Distribution: OpenBSD-CURRENT
Posts: 485
Blog Entries: 187

Rep: Reputation: 74
Quote:
Originally Posted by slzckboy
This isn't the matrix.
You can't simply jack in and download a training
program to learn kung-fu in 10 seconds..
Wow...

Wouldn't it be nice, though? I mean, think about it...all of us who have put countless hours into actually learning could have our jobs taken away by teenagers who aren't willing to put any effort into expanding their own knowledge base? Wonderful concept, eh?
 
Old 04-05-2007, 08:10 PM   #25
cigarstub
Member
 
Registered: Sep 2005
Posts: 145

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by graemef
I'm not entirely convince by that argument. The point is there is no single answer to your question. Additionally hidden amongst all the replies is the sound advice of keep persevering. It is possible to give advice on what would be a good thing to learn so that you improve your skills. However we would need to know where you are at the moment. I asked two questions, if you are serious please reply to those.
I started learning about programming with a slow progress, because I think that I should learn to use functions and knownledge.
When I tried to learn Assembly, I give up because it's complicated, too much knownledges to learn and understand. Sometimes, I read again and again an explanation without understanding.

Now, I found a precious experience: if I can go back in the past, I'll tell myself to be careless about knownledges, to be imaginative and creative, to accept the limitation of knownledge, but not to accept the limitation of stupidity.

I want to know if you have had similar experience, tell me what wound has made you stronger.
 
Old 04-05-2007, 08:25 PM   #26
indienick
Senior Member
 
Registered: Dec 2005
Location: London, ON, Canada
Distribution: Arch, Ubuntu, Slackware, OpenBSD, FreeBSD
Posts: 1,853

Rep: Reputation: 65
There's a Nietzsche for every age.
Too bad I enjoyed shredding him to pieces in a lecture I gave about post-modernism for my final grade in philosophy, last year.

To cast off any old experiences you have encountered is foolish. Becoming an Ubermensch is a road of continuous self-destruction, and self-reincarnation. If you do away with the old experiences, and mistakes, you are almost certain to repeat those mistakes, time and time again.

There is a philosophy of - and for - programming. However, it does not resemble Nietzschean philosophy in the least. There were so many things in programming that made NO sense to me, until I read a few assembly manuals and books. I can't program in assembly at all, but now I have the knowledge of those things which I hadn't understood before, and am that much a better programmer because of it.

Assembly isn't the greatest language to start with, either. You take driving lessons before you take to the streets in a car, in an normal, unrestricted fashion. It's getting too close to the metal too quickly, especially in this day in age, where you have any number of languages to choose from - like BASIC, Tcl and the various shell scripting dialects.

Nietzschean Ubermensch philosophy is great - if you're a hermit. Learn from your mistakes, they're all you have.

Last edited by indienick; 04-05-2007 at 08:27 PM.
 
Old 04-06-2007, 12:13 AM   #27
95se
Member
 
Registered: Apr 2002
Location: Windsor, ON, CA
Distribution: Ubuntu
Posts: 740

Rep: Reputation: 32
Quote:
Originally Posted by cigarstub
All the advise seemingly come from people who want to keep their precious secret that they paid dearly to possess. They don't want to share, can someone share with me, don't tell me "find yourself", or "there is no short way". I know that I must suffer in order to learn something, but you who suffered can tell me?
I'll tell you the secret. Right before you pass level 2 in the game that is Learning Programming, you can jump on the red block, then duck, jump, duck then press "A". A flying gold fish will come and warp you to a new world. Here you can pick up biscuits that let you learn stuff like C, Java, Lisp, etc.. You only have about 5 minutes in this alter-world, so eat as many as you can. Afterwards, your shot out at the beginning of level 9. I have suffered long to learn this great secret, but I pass it on to you, free of charge.

Seriously though, I am not sure what you think this "secret" is. It seems to me like your joking, but I can never be too sure. The real secret to becoming a good programmer is one thing, and only one thing: curiosity. As long as your curious, doing things like reading programming books is actually fun, and you end up spending way too much of your time learning about programming and loving it. Curiosity is a great motivator, and motivation is key to learning anything. If your not motivated, you won't learn. If your not curious, you just won't be that motivated to become a good programmer.

Last edited by 95se; 04-06-2007 at 12:17 AM.
 
Old 04-06-2007, 12:19 AM   #28
graemef
Senior Member
 
Registered: Nov 2005
Location: Hanoi
Distribution: Fedora 13, Ubuntu 10.04
Posts: 2,379

Rep: Reputation: 148Reputation: 148
For fear of raising the hackles of people out there I would say that learning assembly by yourself is a tough ask. Mainly because with assemble you achieve very little, assembly is often about hand crafting small segments of code.

So my first pice of advice focus on high-level languages (C/C++, C#, Java, Pascal)* or scripting languages (Basic, PHP, Python Ruby)*

Then decide upon some medium sized projects that you want to build. This should be a step up from the example programs used to learn the language syntax but not too large that it will take months to complete. Rather you want to look at projects that can be completed in a week. Just work on a few of these projects to completion.

After about a month, go back to the first project and review what you have done. Typically what I learn from such an experience is two-fold, first I wonder what on earth I was doing, secondly I think of better ways that I could have coded it. If you haven't been using functions this is an excellent time to rewrite the project using functions, if you have been using function think if these are the best choice of functions. Again I often feel that by doing this I learn a lot more about what I have been doing and how I can improve the program.

I believe that it is very important to have that significant time gap between writing the code and then reviewing it. As time goes by it is possible to reduce the time between writing and reviewing but the more time you have between the first writing the code and reviewing it the more you will learn about how to improve it.

Don't try and master too many major language features at a time. First syntax, then functions would be a good feature to learn. After that spend some time learning about the debugger, then you will be ready to play around with dynamically allocating memory. Sure there is still a long road to travel but I feel that once you get to this point spending time reviewing you code and re-crafting it you will be a better programmer.

Finally if you have a friend who is also learning programming then share your code with each other and critique each others code. You will learn a lot by reading someone else's code and by listening to their comments on you code. Word of caution: when making suggestion about how to improve someone else's code this must be done with care so as not to offend them or discourage. With every piece of code there are good points, find those as well as the potential faults.

*The examples given are certainly not exhaustive and are given in alphabetical order not any kind of preference order
 
Old 04-06-2007, 07:26 AM   #29
cigarstub
Member
 
Registered: Sep 2005
Posts: 145

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by 95se
I'll tell you the secret. Right before you pass level 2 in the game that is Learning Programming, you can jump on the red block, then duck, jump, duck then press "A". A flying gold fish will come and warp you to a new world. Here you can pick up biscuits that let you learn stuff like C, Java, Lisp, etc.. You only have about 5 minutes in this alter-world, so eat as many as you can. Afterwards, your shot out at the beginning of level 9. I have suffered long to learn this great secret, but I pass it on to you, free of charge.
programmer.
I read this many times with different interpretations, I guess that you need to be creative and "eat as many as possible", I want to be in that after world.

Other answers are quite knownledge intensive, I am creative but I have a fear of achievement. How to overcome these feelings?
http://www.changethatsrightnow.com/f...SDID=7155:1965
 
Old 04-06-2007, 12:21 PM   #30
rocket357
Member
 
Registered: Mar 2007
Location: 127.0.0.1
Distribution: OpenBSD-CURRENT
Posts: 485
Blog Entries: 187

Rep: Reputation: 74
Quote:
Originally Posted by cigarstub
Other answers are quite knownledge intensive, I am creative but I have a fear of achievement. How to overcome these feelings?
First off, don't wait for something to come along...AT ALL. Actively seek out projects that interest you. It doesn't have to be a GPL'd public project...something you can work on at home in your free time for your own personal satisfaction is quite alright.

Second, don't take on a project like re-writing a kernel. Keep your goals realistic for now, because given enough time and curiosity, you'll get wherever you want to end up.

Third, here's a quote from Eric S. Raymond's book, "The Cathedral and the Bazaar":

Quote:
Originally Posted by ESR
1. Every good work of software starts by scratching a developer's personal itch.
Look for something that will fix a problem YOU are having, or a concept you are interested in. Do you like game development? Do you like GUI development? Do you hate the way such and such program does this or that?

Some people can't get into "lab" style development...I personally don't see much use in writing code for the sole purpose of learning. I want to write code that does something. Code that most tutorials include is written to point something out, and while that's not necessarily a bad thing, it does get boring sometimes.

The key thing is to "keep one oar in the water at all times"...and if you get stuck, THEN come and ask for help, as I'm sure there are plenty of programmers here that would be more than willing to point out a better way (as long as the problem isn't generic like "make me a better programmer"...if you ask "hey, I'm working on an adesklet to do blah, blah...but it doesn't seem to be able to something I want it to...I think the problem is here." then people will respond much more enthusiastically to your query).

Hope this helps.

Last edited by rocket357; 04-06-2007 at 12:24 PM.
 
  


Closed Thread



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
How to make Linux programming more comfortable Igor007 Programming 3 08-20-2005 11:13 AM
Does it take alot of programming knowledge to make a liveCD? freddurgan Linux - Distributions 1 05-21-2004 02:34 AM

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

All times are GMT -5. The time now is 11:56 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