Suggest Me Some Books.

25 replies
I dunno if i am posting in a relevant section. But I believe learning comes under the 'Self-improvement' part.

Ok, so here's my problem.

I have no knowledge of any programming language, not even C/C++/Java/HTML.. Please tell from where to start.

I do make money from websites, but I hae no knowledge about them.

I want to learn how to code, make software, build websites, manage databases, network security, server administration and all those things that are related to the Internet and apps.

I am not looking to learn all these in few weeks or months. I have set myself a target of 4 years to be a master in coding.

Please recommend me some books, courses or websites that are noob friendly.
#books #suggest
  • Profile picture of the author naqiu002
    Originally Posted by rome9t9 View Post

    I dunno if i am posting in a relevant section. But I believe learning comes under the 'Self-improvement' part.

    Ok, so here's my problem.

    I have no knowledge of any programming language, not even C/C++/Java/HTML.. Please tell from where to start.

    I do make money from websites, but I hae no knowledge about them.

    I want to learn how to code, make software, build websites, manage databases, network security, server administration and all those things that are related to the Internet and apps.

    I am not looking to learn all these in few weeks or months. I have set myself a target of 4 years to be a master in coding.

    Please recommend me some books, courses or websites that are noob friendly.
    Maybe "for Dummies" book series can help you like:
    C++ For Dummies

    Use Google to find the ebook, by using this search query:
    "programming for dummies"
    "(your keyword) for dummies"

    Then you will get some books that will help you

    Hope this will help you.

    Regards,
    naqiu.
    {{ DiscussionBoard.errors[3049549].message }}
  • Profile picture of the author ObsidianKnight
    Well, I will help take a stab at your post.

    Before I do, here is some background so you know what your up against.

    I am a computer programmer. I know Java, C/C+/C#, ASP, PHP, MYSQL, and a host of other languages. I have a BA degree in IT from the U of Pheonix. I am a ham radio operator with a background in electronics. I have experience with Unix, Windows, all aspects of software, hardware, repair, tech support, servers (including 6 rack mounted servers and netapp file server in my garage).

    But in truth the answer to your question is there is no one simple answer.

    I have friends that taught themselves computer programming and can out program me in a heartbeat. But that is all they do. They do not work on Marketing. They also went to college to further their knowledge.

    If you want to truly learn how to program, then the best option is to have something to program. Nothing will teach you faster then actively programming in some language.

    Programming languages are categorized into low level and high level languages. Generally based on their difficulty.

    HTML is pretty easy to learn. C is harder to learn, but is also similar in feel to Java. C# is a Microsoft variation in which many things will seem similar as well.

    Once you start learning higher level languages, you will start to pick up on other languages much easier. Most all languages have the same or similar functionality, they all do various types of loops for instance.

    There are a host of books available that can teach you the semantics of the language. Unlike English, programming really can be strict on syntax. Not much slang and a simply mispelling is programming can be crucial.

    I think it is Orielly (not sure) books makes tons of books like "Learn C is 21 days", "Learn Java in a Week" etc, etc.... Check Amazon used books under programming or IT categories. Also do Google search for "(language of choice) tutorials". (Java tutorials), (C# tutorials), etc..

    The biggest problem you will likely encounter is learning all of the different facets of programming languages. Such things as polymorphism and object oriented design can be complex concepts and are often a struggling point for beginners.

    With regards to learning all the other things, like servers, network security and such, you should consider picking one field and learning that first.

    As a programmer I could right hundreds of programs and never once use a server, need to know about network firewalls or security concerns, or any other host of issues. On the flip side of this, as a Linux Network Administrator I could operate and run hundreds of servers, of all types, such as Databases, Mail servers, FTP servers, DNS, and anything else that is needed, and never write a program any harder then a Unix shell script.

    Each of these could be their own field. There are degree programs for network admins, programmers, database administrators, and just about any specialty you could think of in the IT industry.

    The best option would be to pick one, learn what you can, then learn more as you get better.

    - Derek
    {{ DiscussionBoard.errors[3049668].message }}
    • Profile picture of the author Radcliff
      Originally Posted by ObsidianKnight View Post

      Well, I will help take a stab at your post.

      Before I do, here is some background so you know what your up against.

      I am a computer programmer. I know Java, C/C+/C#, ASP, PHP, MYSQL, and a host of other languages. I have a BA degree in IT from the U of Pheonix. I am a ham radio operator with a background in electronics. I have experience with Unix, Windows, all aspects of software, hardware, repair, tech support, servers (including 6 rack mounted servers and netapp file server in my garage).

      But in truth the answer to your question is there is no one simple answer.

      I have friends that taught themselves computer programming and can out program me in a heartbeat. But that is all they do. They do not work on Marketing. They also went to college to further their knowledge.

      If you want to truly learn how to program, then the best option is to have something to program. Nothing will teach you faster then actively programming in some language.

      Programming languages are categorized into low level and high level languages. Generally based on their difficulty.

      HTML is pretty easy to learn. C is harder to learn, but is also similar in feel to Java. C# is a Microsoft variation in which many things will seem similar as well.

      Once you start learning higher level languages, you will start to pick up on other languages much easier. Most all languages have the same or similar functionality, they all do various types of loops for instance.

      There are a host of books available that can teach you the semantics of the language. Unlike English, programming really can be strict on syntax. Not much slang and a simply mispelling is programming can be crucial.

      I think it is Orielly (not sure) books makes tons of books like "Learn C is 21 days", "Learn Java in a Week" etc, etc.... Check Amazon used books under programming or IT categories. Also do Google search for "(language of choice) tutorials". (Java tutorials), (C# tutorials), etc..

      The biggest problem you will likely encounter is learning all of the different facets of programming languages. Such things as polymorphism and object oriented design can be complex concepts and are often a struggling point for beginners.

      With regards to learning all the other things, like servers, network security and such, you should consider picking one field and learning that first.

      As a programmer I could right hundreds of programs and never once use a server, need to know about network firewalls or security concerns, or any other host of issues. On the flip side of this, as a Linux Network Administrator I could operate and run hundreds of servers, of all types, such as Databases, Mail servers, FTP servers, DNS, and anything else that is needed, and never write a program any harder then a Unix shell script.

      Each of these could be their own field. There are degree programs for network admins, programmers, database administrators, and just about any specialty you could think of in the IT industry.

      The best option would be to pick one, learn what you can, then learn more as you get better.

      - Derek
      Thanks for your stats.My future dream is becoming a software engineer.So I plan to learn some programming by myself.Hope your information will help immencely.The best thing is taking advices by an expert.
      {{ DiscussionBoard.errors[3050837].message }}
      • Profile picture of the author ObsidianKnight
        Originally Posted by Radcliff View Post

        Thanks for your stats.My future dream is becoming a software engineer.So I plan to learn some programming by myself.Hope your information will help immencely.The best thing is taking advices by an expert.
        Radcliff,

        The funny thing is I would not have even considered myself an expert when it come to programming. ;-) But thanks for the "vote of confidence".

        Think of programming more along the lines of "specialists". Many programmers will specialize in given areas such as game programming, network systems programming, business logic programming, database management, or some other variation. I myself have specialized in "troubleshooting programs".

        By this I mean that I can look at nearly any programming language, whether I know it or now, and immediately start to determine how to modify and correct the programming.

        Though it is not always easy, especially if it is other peoples original programs, it can be very fun and rewarding.

        In past jobs, I rarely did any actively new projects as most of what I was doing was rewritting or adding to existing programs.
        {{ DiscussionBoard.errors[3052214].message }}
  • Profile picture of the author rome9t9
    THanks for the great reply Knight. Will get some 'for dummies' books for HTML, CSS and PHP.

    btw, do I need to have knowledge of any language before I start learning C, C++ or Java??

    Also, do I need to learn both C and C++??
    {{ DiscussionBoard.errors[3050063].message }}
    • Profile picture of the author Edward Floyd
      Originally Posted by rome9t9 View Post

      THanks for the great reply Knight. Will get some 'for dummies' books for HTML, CSS and PHP.

      btw, do I need to have knowledge of any language before I start learning C, C++ or Java??

      Also, do I need to learn both C and C++??
      C++ is built ontop of C, so you can learn C before C++ if you wish, but it isn't necessary. C++ isn't "better" than C, it is just used for different things.

      Java is the easiest of those languages to learn if you haven't learnt any real programming before. Java is quite straight forward and you don't have to deal with memory management nearly as much as you do with C/C++ (basically means you don't get errors all the time for forgetting to do little things.) And Java will tell you where your errors are quite obviously as compared to C/C++ compilers.

      This book is quite a good C++ one if you are interested: Sams Teach Yourself C++ in One Hour a Day (6th Edition) (9780672329418)

      Any java book should be good. I would recommend starting with that.
      {{ DiscussionBoard.errors[3051059].message }}
    • Profile picture of the author ObsidianKnight
      Originally Posted by rome9t9 View Post

      THanks for the great reply Knight. Will get some 'for dummies' books for HTML, CSS and PHP.

      btw, do I need to have knowledge of any language before I start learning C, C++ or Java??

      Also, do I need to learn both C and C++??
      Technically you don't "NEED" anything. However there are going to be a few things you will "WANT".

      The C language is basically a introductory language to C+ variants. Learning C will help you to understand C+ and C#, but not entirely the other way around.

      Languages like C++ will often use much more intricate functionality like multi-layering, multi-threading, and Object oriented design structure. (dot notations. Car.steeringwheel.horn)

      Personally I would look at how most colleges structure their computer science courses. You can check with your local college to get a class brochure for this.

      They often start out learning something like this:

      Program 44 Credits
      CIS 102 Fundamental Computer Literacy . . . . . . . . . . . . . . . 4
      CIS 124 C++ Programming I . . . . . . . . . . . . . . . . . . . . . . . . . . 4
      CIS 125 C++ Programming II . . . . . . . . . . . . . . . . . . . . . . . . . . 4
      CIS 211 Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
      CIS 231 Computer Science I with Java . . . . . . . . . . . . . . . . . . 4
      CIS 232 Computer Science II with Java . . . . . . . . . . . . . . . . . 4
      CIS Computer Science Elective (see footnote 1) . . . . . 3
      ENM 152 Engineering Calculus II . . . . . . . . . . . . . . . . . . . . . . 3
      ENT 162 Engineering Physics II . . . . . . . . . . . . . . . . . . . . . . . . 4
      ENT 233 Digital Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
      ENT 234 Microprocessors . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
      MAT 123 Elementary Statistics . . . . . . . . . . . . . . . . . . . . . . . . 3

      My college program actually started with C, then went to Java, then to C++. However many newer programs stop teaching the more "outdated languages. However even outdated languages are good to know. A Cobol programmer will command top dollar, only becuase more and more people are not learning it.

      It all depends on what you wish to accomplish. For instance. If you are looking to become a web programmer, then concentrate on those web-based languages, html, php, smarty templating engine, mysql, and asp. If however you are hoping to become a game programmer, then you should focus on non-web related languages, such as c, c+ variants, and Maya scripting language (for 3d work).

      C++, in particular will be the main workhorse for game programming or related softwares. This is not to say you will never use other languages along the way.

      Last year I was working for a company that used a language known as Genero 4GL. It was a "wrapper" language that was based on Java. It meant I had to learn a new language (mostly learn all the ins and out nuances), but it was quite fun to work with once I became proficient with it.

      After that I had to learn ASP on the fly when the company decided to drop the custom software we had in an attempt to move to an online platform.

      Derek
      {{ DiscussionBoard.errors[3052171].message }}
  • Profile picture of the author scortillion
    If you want to learn how to program and also work with websites and databases this should be your plan of attack.

    Learn PHP and MySQL. These two are used in the majority of Linux based websites today. PHP is very close to C, C# and C++ so learning that will give you a step up on learning those later on.

    After you learn PHP and MySQL you may want to learn JavaScript too. These 3 will help in learning AJAX if you want to learn that as well. AJAX is not so much a language as a method of design.

    After you learn PHP, MySQL and JavaScript I would then learn C# (pronounced C-Sharp) and then ASP.NET and ASP.NET MVC.

    Now this is ONLY if you want to learn how to program for Linux and Windows server environments. If you only want to learn Linux websites then you can get by with just PHP, MySQL and JavaScript. But if you want to program for windows server websites as well then you’ll need to learn C# and ASP.NET at the minimum. Learning ASP.NET MVC is the better one to learn as it keeps your page templates and program code separate.

    You could learn VisualBasic for programming ASP.NET but if you want to reduce your time and multiply your learning learn C#, this will make learning C++ much easier later on. If you go the VisualBasic route this just adds one more language you need to learn.
    Signature
    {{ DiscussionBoard.errors[3051047].message }}
  • Profile picture of the author rome9t9
    Thanks scort and mechatronix,
    Basically, I want to learn building websites and i also have an interest in apps and software development. I am not so sure which I am more inclined towards as I've not seen how awesome they both can be.

    So, I wanted to learn the basics of both before I make any choices. According to the replies I got and scourging the web for more info, I have drawn the folllowing conclusion:

    PHP, MySQL, Javascript and ASP.NET help create websites.

    C++ and Java is used in making softwares, games and apps.

    am I right??

    I have now few more questions:

    Do I need to learn HTML, XHTML and CSS before learning PHP and MySQL?

    Also, out of C++ and Java, which is better to learn first? Will learning of C++ make it easier for me to understand Java??
    {{ DiscussionBoard.errors[3051285].message }}
    • Profile picture of the author ObsidianKnight
      Originally Posted by rome9t9 View Post

      Thanks scort and mechatronix,
      Basically, I want to learn building websites and i also have an interest in apps and software development. I am not so sure which I am more inclined towards as I've not seen how awesome they both can be.

      So, I wanted to learn the basics of both before I make any choices. According to the replies I got and scourging the web for more info, I have drawn the folllowing conclusion:

      PHP, MySQL, Javascript and ASP.NET help create websites.

      C++ and Java is used in making softwares, games and apps.

      am I right??

      I have now few more questions:

      Do I need to learn HTML, XHTML and CSS before learning PHP and MySQL?

      Also, out of C++ and Java, which is better to learn first? Will learning of C++ make it easier for me to understand Java??

      Thats the basics but not entirely accurate.

      Check out this list of programming languages on Wikipedia
      List of programming languages - Wikipedia, the free encyclopedia

      While many of them are defunct, obsolete or just someones attempt to make a better variation, the key factors are that languages can be seperated into their "preferred usage".

      For instance, markup languages, are generally text based languages, like html, xhtml, css, where you use "tags" to manipulate the text within an environment (this case the browser).

      Some languages, like Java, require specific environments, like JVM - Java Virtual Machine, in order to run properly. Some just require that you compile them using the language compiler so that they will run on the compiled environment of choice (Windows, Unix, etc..).

      Most languages can be used to do specific parts of different things.

      For instance With ASP and c# I can create websites or programs. And I can create programs that offer web components or simply just create a stand alone program.

      ASP, C# and visual basic from Microsoft can also be used in programs such as Excel, MS Exchange Server, and hundred of other Microsoft programs.

      Other languages, such as Assembly (one of my favorites) can be incorporated into other languages, such as c, c++ or Java.

      In some cases you have to mix and match. A good example of this would be the following:

      An html page is loaded into a web browser. But the web browser is also a program that runs under the OS (windows for example), and the Windows system utilizes any number of programs, such as Prt addressing, DNS llokups, and hundreds of other "software drivers" to make everything work.

      A massive program architechture like MS Window is utilizing hundreds of languages in order to accomplish all the tasks that are needed to make your computer run, all so that you can read this post.

      So take your thinking up a notch as without programmers the electronic world as we know it would stop dead in its tracks.

      If you can, shoot for learning Java. It is an object orient language, in which all aspects of the languages can utilize "objects" for faster and more accurate manipulation. It will take a little to get used to thinking in objects, but think of everything as a sum of its parts.

      sample object breakdown:
      Human
      Human.head
      Human.head.ears
      Human.head.ears.earwax

      Assuming an object is of the "human type" we now know that it should have a head, and the head should have ears, and those ears can produce earwax.

      So in programming, you could do the following:

      Java code:
      Code:
      Class Human {
      
      public String head;
      public Smallint ear;
      public Boolean earwax;
      }
      
      
      Human Sally = New Human();
      Sally.ear = 2;
      Sally.earwax = null;
      Using objects is pretty mandatory in higher level languages these days. (can be done without them, but why whould you want to?

      When learning any one language, consider them self-contained. You can learn php without knowing html or css. However, most all php programs you will find on the web, like wordpress, directory programs etc will all use html within the PHP pages and will use CSS to format the pages (color, text sizes, etc).

      My favorite site for this stuff. W3Schools Online Web Tutorials

      Derek
      {{ DiscussionBoard.errors[3052411].message }}
      • Profile picture of the author Bobster0007
        I have some great books in pdf format from Head First learning that i can send you if its allowed for me to do so in here. Or, you can go to W3schools.com and take their free courses. Check out this site...you will be amazed!
        {{ DiscussionBoard.errors[3057478].message }}
        • Profile picture of the author naqiu002
          Originally Posted by Bobster0007 View Post

          I have some great books in pdf format from Head First learning that i can send you if its allowed for me to do so in here. Or, you can go to W3schools.com and take their free courses. Check out this site...you will be amazed!
          yes that's right. W3schools.com is the best place to have great and free courses Take your action now.
          {{ DiscussionBoard.errors[3058110].message }}
  • Profile picture of the author Azuremaiden
    Thought Vibration
    {{ DiscussionBoard.errors[3052159].message }}
  • Profile picture of the author jushuaburnham
    I can recommend some books but I don't know if that's what you are looking for, try "The C++ Programming Language" or "C++ Primer" or do visit the "W3 Schools".
    {{ DiscussionBoard.errors[3060587].message }}
  • Profile picture of the author rome9t9
    Thanks everyone, I have got myself 'for dummies' and O'Reilly books for C++ and Java.

    and will go with w3schools for html, css, php & mysql.

    Regards.
    {{ DiscussionBoard.errors[3060718].message }}
  • Profile picture of the author chemashie
    I think I have learnt one or two things here today. Good work from all of you. thumb up!
    {{ DiscussionBoard.errors[3063423].message }}
  • Profile picture of the author bigredrassler
    My advice, check out "Head First" series, they are a little more fun and easy than Dummies or Idiot's Guide. They have "Headfirst HTML with CSS and XHTML", "Head First Java", and "Head First PHP & MySQL" As far as C/C++ I know the Dummies guys have a complete manual on C++, I used it to make a few half done video games a few years back.

    Hope that helps
    {{ DiscussionBoard.errors[3063495].message }}
    • Profile picture of the author Bobster0007
      Originally Posted by bigredrassler View Post

      My advice, check out "Head First" series, they are a little more fun and easy than Dummies or Idiot's Guide. They have "Headfirst HTML with CSS and XHTML", "Head First Java", and "Head First PHP & MySQL" As far as C/C++ I know the Dummies guys have a complete manual on C++, I used it to make a few half done video games a few years back.

      Hope that helps
      Thats why i recommended the "Head First" already. They make learning easier and even fun.
      {{ DiscussionBoard.errors[3063622].message }}
  • You can buy related books for different course. Please take main knowledge from skilled one and then start practicing. You will be perfect within certain days.
    {{ DiscussionBoard.errors[3063570].message }}
  • If you don't have any knowledge about internet and programming language, you have to learn more books and practice more.
    {{ DiscussionBoard.errors[3063670].message }}
  • Profile picture of the author helenaldin
    Rome, I'd suggest getting a WordPress blog and playing around in it to learn PHP. Its really hard to break anything. And in your posts and pages, you can play with the html to change the way certain items appear.

    W3Schools is also a great website for referencing if you get stuck.

    And I agree with the "Head First" recommendation. They're easier to understand with most of the programming languages.

    Best of luck to you!
    Signature

    Wanna learn how to make money with little effort? Be sure to visit my blogs!
    http://instantmoneyplantoday.com/blog/
    http://becomerichertoday.blogspot.com/

    {{ DiscussionBoard.errors[3068016].message }}
  • Profile picture of the author gkb45
    Hi rome9t9

    Pls don't take my words as critic, just doing asumption and trying to findout

    Being a member here for more than two years may be you got interest & liking to those programming. But you can easily find out all these things from freelancet sites with very cheap price.

    For calculation purpose, if you are of 20-25 yrs and within this time you never close to those programmeing. Then you should not have any keen/devoted like hobby into this area. Without such hobby you should not go for this.

    If your target is doing good on websight related then stick with simple Wordpress, HTML and SQL/MySQL server. Some front end knoledge would help you good for web related business. Rest you can do easily by outsourcing.

    I am saying this way because 25 yrs before I learnt so many things. You know what happend ? Many of my friend and me got board. Lost all interest on it and switched other area for Job.

    Does my learning did not helped anything ? Sure it does on my working area but it was not my main job. So I forgot many of them without using those.

    Now my younger brother (15 yrs less than me) is doing good job and much better than me. His main job is programming & software making. But he can not give much time to other things like what I do.

    My finding is - be specialise in one specific area and be expert on that. Even a tiny single thing can make you great and famous. For example when 15-20 programmers work can make a banking account software after 30 manmonth, my youger is doing that within 20-30 min from his own created predifined objects. But bfore that he spent countless hrs for 2 yrs into this. Now he is counted as one good specialist in softwarehouse at a 10 million populated city.

    But I know there are some special & exceptional people. So if you have such strong feeling in your mind with a specific target, certainly you would go for it. And one by one from simgle one to next.

    Thanks to you all.
    {{ DiscussionBoard.errors[3069554].message }}
  • Profile picture of the author ObsidianKnight
    GKB45,

    You hit on something that I encountered but often forget about, location of the programmer.

    While there is a considerable market for programmer online, having a strong programming market in your area is also quite helpful. Getting entry level work in a local company can help to build the experience you are looking for.
    {{ DiscussionBoard.errors[3070383].message }}
  • Profile picture of the author Furiousx
    Esther and JErry Hicks "Money and the law of attraction"
    {{ DiscussionBoard.errors[3124075].message }}
  • Profile picture of the author Furiousx
    Jane Roberts "seth speaks"
    {{ DiscussionBoard.errors[3124076].message }}

Trending Topics