1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

How to become a good programmer and what subjects should i have to learn

Discussion in 'Black Hat SEO' started by bewithme465, Jul 15, 2011.

  1. bewithme465

    bewithme465 Regular Member

    Joined:
    Aug 24, 2010
    Messages:
    455
    Likes Received:
    91
    Occupation:
    self employee
    Location:
    center of eath
    Hello friends i am newbie having numerous thoughts in my mind but i cant express properly to others.

    I sincerely asking u all plz help me out , i want to be a good programmer or serious software developer for every software has starting point, i dont know ending but starting point will be there.

    From your experience plz tel me where to start. To learn programming.

    i want to develop software like data transfer software or submission software or any
     
  2. fancymoon

    fancymoon Newbie

    Joined:
    Jun 29, 2011
    Messages:
    17
    Likes Received:
    7
    Occupation:
    SEO Consultant
    To gain your goals you should study in computer sciences or software engineering....
    they will definitely help you out in a real sense.....
    don't go for any shortcuts .......get proper knowledge....:)
     
  3. webdesignsbyapw

    webdesignsbyapw Junior Member

    Joined:
    Aug 4, 2010
    Messages:
    158
    Likes Received:
    9
    I would say take a few classes at your local college. This will give you a headstart and it is much easier from reading in a book
     
  4. dre1!

    dre1! Newbie

    Joined:
    Jun 28, 2011
    Messages:
    13
    Likes Received:
    4
    Install and learn to use Linux from the command line if you have not already
    Learn to use either Emacs or VIM
    Read "The C Programming Language" by Kernighan and Ritchie
    Read "Programming Perl"

    C is the foundation of most other widely used languages. It is the fastest and most powerful.

    Perl is much faster to develop with although it is much slower than C for some purposes. Perl is good for text processing and so if you are into the web, it is a good place to start.

    Look at other people's code and start with a program that works, but not as well as you want it to, and change stuff until you make it better.

    That is how I learned to code, and I only took one computer science course in my life.

    Another suggestion would be to learn Javascript and work with that. Javascript using V8 is much faster than Perl, although it is not as good for bulk data processing, and not as many libraries available for it. The advantage with JS is that you could use your knowledge for web development at the same time.
     
    • Thanks Thanks x 1
  5. wes_one

    wes_one Junior Member

    Joined:
    Apr 25, 2011
    Messages:
    176
    Likes Received:
    75


    WRONG!!!


    That thing above is a joke but I definetly would not recomand start in C
    Reason being C is very complicated,it takes hours to find most minor errors
    It is platform dependant aka what runs on windows XP might not run on win7 and vice versa
    It is huge.It is the biggest programming language,it is in development since the 1990-s


    My recomandation would be either Python or Java.
    Reasons for python:
    It has very good API(API is pre-programed parts of program that you can use in your programs)
    It supports .dll
    It is very high level(level of language means less code=more work)
    It is fast.It can execute up to 1500 lines of program per second
    It can be used to program dynamic web-pages(like PHP)
    It can be used to program server-side applications(networking and stuff)
    It is easy to learn since it is high level language
    It has shit-load of free tutorials online and books that you can download(or buy if you do not like piracy)
    It is rated for best newbie programming language
    It has great IDE(integrated development enviroment,that is where you write code,de-bug,test etc etc)


    AND THE REASON FOR PYTHON = GOOGLE IS WRITTEN IN PYTHON

    Reasons against python:
    GUI is kinda hard to create
    No multi-thread support
    If you wana code huge program it will take shitload of time to execute that program
    If you wana write thunder-fast xrumer-like program you wont be able too because code can not be multi threaded
    Lacks power that other languages like Java and C have
    It still lacks the speed
    It is not secure

    WHAT I RECOMAND AND WHY:
    JAVA:
    Reasons for java:
    -Thunder fast,it generated 100000 lines of txt for me within 18 seconds
    -Unlimited threads,you know what I mean
    -Amazing networking capabilities
    -Amazing capabilites to create dynamic sites(like python and php)
    -Capability to code servlets(applications that operate only on servers)
    -Capability to code desktop software
    -100% portable aka what runs on windows runs on Mac,linux,solaris,win7...List goes on
    -Capabilty to code for smartphones
    -Huge userbase on multiple forums
    -Most used language in history of computer science
    -Can do literaly everything
    -Amazing IDE
    -Easy-brezzy gui creation
    -Flexible
    -Awesome debugger that finds every mistake and gives you working sollution for it
    -API is huge it has over 4500 pre-coded software parts that you can use
    -Combines with a lot of other languages
    -Secure,before any file gets to the actuall JVM(java virtual machine) it goes through 3 layer security check,each one being thougher than last


    Reasons against java:
    -Debugger is kinda cocky and makes assumptions of mistakes before you even made em
    -Kinda hard to get hang of with all the classes,methods,objects,data types,primitves,reference variables,inputs...but when you get it(in about a week from start)you will be the king.



     
    • Thanks Thanks x 2
  6. kokoloko75

    kokoloko75 Elite Member

    Joined:
    Jan 1, 2011
    Messages:
    1,628
    Likes Received:
    1,935
    Occupation:
    Design director
    Location:
    Paris (France)
    I recommand Java or Delphi (Pascal).

    Beny
     
  7. pyrogod117

    pyrogod117 Registered Member

    Joined:
    Jul 10, 2010
    Messages:
    52
    Likes Received:
    16
    Location:
    Jersey Shore USA
    wes_one - How much have you really programmed in Java? It's slow as shit compared to most languages.

    To OP: Start off by learning the basic CONCEPTS of programming. It's 100% math and logic. Learn about OOP, methods, variables, classes, loops, everything. Those concepts stay the same no matter what language you use. Only the syntax changes. Then decide if you want to do web programming or application programming first, and just following basic tutorials, but make sure you understand it all.
     
  8. seeplusplus

    seeplusplus Power Member

    Joined:
    Aug 18, 2008
    Messages:
    511
    Likes Received:
    163

    This, they all use functions, arrays etc. Don't start with C, it's procedural, stick with OO languages.
     
  9. supparman

    supparman Newbie

    Joined:
    Jul 22, 2009
    Messages:
    28
    Likes Received:
    5
    It depends what you are doing. Java is faster than eg. c++ in some cases and vice versa.
     
  10. sameer5762

    sameer5762 Elite Member

    Joined:
    Sep 23, 2009
    Messages:
    5,228
    Likes Received:
    1,468
    Occupation:
    Software engineer
    Location:
    http;//sameer5762.com
    Home Page:
    Learn JAVA and SQL from a reputed institute and then you can be a good programmer.....:)
     
  11. jonate20

    jonate20 Newbie

    Joined:
    Oct 20, 2009
    Messages:
    28
    Likes Received:
    1
    I would stick with wes_ones tip and go for python. It's very easy to learn and has a very intuitive syntax. And despite what wes_one says it is possible to multi-thread in python, it's just harder to implement.
     
  12. scriptomania

    scriptomania Junior Member

    Joined:
    Dec 28, 2010
    Messages:
    127
    Likes Received:
    249
    Occupation:
    A full time pirate at sea
    Location:
    The European capital of politics
    lol @ all these replies... (especially the C suggestions, come on now... Do you really wanna start out with a monstrosity of a language like C?)

    OP, you haven't really stated your purpose here. What type of tools/apps would you like to develop? What's you previous experience with programming?

    I'd say start out with a scripting language and go from there. Python is pretty nice, easy to learn and very powerful. Don't worry about speed and such just yet.

    Here's something that might help you out with python:

    http://www.youtube.com/watch?v=tKTZoB2Vjuk
    (a pretty good introductory course for complete beginners. Also, it's free!)

    At any rate, python will allow you to do a TON of tasks with general ease. It is very well documented and has a massive array of functions, librabries and so on. Python is also fairly fast, development wise. Consider this, if you are looking to do some web related tasks (this is why it is important to state what you are trying to do here), web-parsing or what not, Python will be a lot faster to do your work in than say C. Just download beautifulsoup and off you go, wheras in C you'd be fucking around with a ton of shit first.

    Again, don't get me wrong, C has its uses. Definitely not something you should be starting out with though.

    Also, I recommend you go ask these types of questions at an appropriate forum and not at an IM one. Have a look at daniweb, pretty good all around IT forum.

    Cheers and feel free to PM me if you need any more help.
     
  13. saxgod

    saxgod Regular Member

    Joined:
    Sep 19, 2010
    Messages:
    351
    Likes Received:
    337
    Since you will be mostly programming webrelated stuff I recommend learning PHP. Since it has a C-Syntax it will be easy to learn other languages like C++ or Java after that if the need arises. I do most of my coding in PHP, even for 'background' processes on linux machines. (I do also know C, Java, VB, C#, AS3, javascript, ...)
     
  14. Subsonic

    Subsonic Regular Member

    Joined:
    Mar 17, 2011
    Messages:
    367
    Likes Received:
    333
    Location:
    DNS root zone database
    What the fuck am I reading...? That's like teaching a baby to do backflips before it knows how to walk! :D C is a really good language and it's one of the most used but it's hard as hell and I promise you: YOU WILL get frustrated and quit programming for the rest of your life if you are trying to learn without proper help from an experienced teacher or something.

    This is by far the best suggestion for you. It's 100% correct! If you seriously want to be a good programmer you have to learn the basic concepts of programming! There's no point studying code by other people before you know the basics. After you've mastered all the core stuff of programming you can jump from language to another pretty easily because most of the tools are somewhat similar (Visual Studio, Eclipse, Borland C++ Builder etc.) and apart from syntax there are no big differences whatsoever.

    Good luck OP!
     
  15. pyrogod117

    pyrogod117 Registered Member

    Joined:
    Jul 10, 2010
    Messages:
    52
    Likes Received:
    16
    Location:
    Jersey Shore USA
    Thanks for the approval :)

    To OP: There is a program called ALICE (http://www.alice.org/), which allows you to make 3D visual things while learning the concepts of programming. It was developed by Randy Pausch (now deceased) and a team at Carnegie Melon University. It's used in high school and college environments for entry level programming classes.
     
    • Thanks Thanks x 1
  16. geomuss

    geomuss Regular Member

    Joined:
    May 19, 2011
    Messages:
    243
    Likes Received:
    110
    Small Basic :D
     
  17. verdox

    verdox Regular Member

    Joined:
    Jun 5, 2011
    Messages:
    205
    Likes Received:
    76
    I am the Technical Director of a software company and have worked in development for 15 years. I am still learning how to program :)

    I respect the suggestions here but do not agree, go and download any of the visual studio express editions (this depends on what you want to learn) and start on all the tutorials.

    The employment market is a dominated by Java and .NET - the learning curve is shorter with .NET (subjective personal opinion). But you need to learn the basics, books, tutorials and a clear goal of what you want to build will keep you motivated. Good luck!