Announcement

Collapse
No announcement yet.

The Programming Thread (was New to Programming)

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by Protocol Penguin View Post
    Have you been formally taught programming at university before you started making stuff (even if years ago)?
    Nope. I did physics at uni and never learned programming at school(just Logo. Remember that?).

    I always found programming books slow(even the humorous ones) because you have to endure pages and pages discussing abstract concepts like integers and doubles and strings. Then you're usually asked to do boring tasks like manipulating data which are designed to cement those abstract concepts but you just get flashbacks to work experience when that idiot had you shredding paper and doing his filing.

    After the Amstrad, I lost interest in programming and enjoyed the hands-on stuff like fiddling with autoexec.bat. I have a short attention span, low motivation, a bit of anxiety and am bad at studying.

    Bearing all that in mind, here's how my first program went:
    • Our customer service department wanted an application that would create a file with names and addresses of customers whose orders would ship the following day. Those names and addresses are held in our company's SQL database
    • My manager told me to install Visual Studio, then he gave me the code for one of his simple programs that could be adapted to do what was needed
    • I opened the program in Visual Studio and tried figuring out how it worked. The program initially didn't show anything on the screen other than a black window(like DOS). I googled how to write words on the screen and found out I'd need to have a line like this:

    Code:
    Console.WriteLine("Hello boys");
    • I managed to edit the code to get the data I needed from the database. It was scary and took ages because I'd only started learning SQL a few months prior. Sometimes I messed up and pulled LOADS of data, slowing down the database(great for my anxiety!)
    • The program already made a file but it needed more columns so I had to figure out which part of the code dealt with columns. It was something called a DataTable. I looked at the code for the existing columns and just copied/pasted it, changing the column names
    • By this point, the program was working but it crashed in certain situations. For example, it would crash when creating the file if it already existed. It would throw up an error and quit. So I googled “C# check if file exists” and added the code I found. Then I googled how to delete the file. One bug down!
    • However, the program would then crash when deleting the file if it was open in Excel so I made it show a message telling the user to close Excel. I'm forgetful so this error came up A LOT. If the file was open, I made the program keep checking every second using a loop. As soon as the file was available, it would delete it and make a new one with the same name
    • I started adding text feedback so the user would at least know what was going on. Useful info like “Accessing database. Please wait...” and “creating file...”
    • A few weeks later, the obvious bugs were squashed so I gave it to customer service to use


    I did find and start watching a free C# video course called C# Fundamentals for Absolute Beginners by the beautifully voiced Bob Tabor. He's great and his clickety-clackety mechanical keyboard gave me eargasms

    I never finished the course(attention span!) and felt like a fraudster, just winging it. I hadn't really studied and was mostly googling everything. I knew I wouldn't be able to do this from scratch.

    But I couldn't deny that I'd modified a program, made it better and now people were using it.
    Last edited by randombs; 24-04-2019, 04:40.

    Comment


      Had my first experience of a developer who knows bugger-all about PCs.

      He couldn't get my program to compile on his PC and, rather than figure out what was wrong, he sat on it for a few days until our training meeting, at which point I had to sort it out. He'd installed a 64-bit SDK whereas I was using the 32-bit one. The compiling error even mentioned this but did he Google it? Did he bollocks.

      Comment


        Originally posted by MartyG View Post
        Tried a second hand copy of this last month, got round to it and... it’s not beginners friendly at all. Regret buying it, to be honest, as I couldn’t make any progress. It’s for compsci graduates, not people who haven’t learnt it yet.

        Any more suggestions? I’m still going to get into this somehow even if it takes me years.

        Comment


          Originally posted by Protocol Penguin View Post
          Tried a second hand copy of this last month, got round to it and... it’s not beginners friendly at all. Regret buying it, to be honest, as I couldn’t make any progress. It’s for compsci graduates, not people who haven’t learnt it yet.

          Any more suggestions? I’m still going to get into this somehow even if it takes me years.
          Looking at the preview pages, it really isn't going to get much easier than that. At what point does it stop making sense to you?

          Comment


            No computer science grad is gonna be buying that book!

            Comment


              Originally posted by Brad View Post
              No computer science grad is gonna be buying that book!
              Because it’s too simple, or too poorly written? It’s very jargonistic and doesn’t seem a real beginners book to my eyes.

              Comment


                Learning a programming language is like learning any other language. Anyone who wants to learn French can't start complaining that the words are different.

                Have you tried the app Grasshopper by Google? You learn basic programming ideas and snippets of JavaScript code through examples. You can work through as much as you like in one session.

                Comment


                  Originally posted by Protocol Penguin View Post
                  Because it’s too simple, or too poorly written? It’s very jargonistic and doesn’t seem a real beginners book to my eyes.
                  Because they already have a degree in computer science. Why would they need a beginner programming book?

                  Comment


                    Originally posted by kryss View Post
                    Learning a programming language is like learning any other language. Anyone who wants to learn French can't start complaining that the words are different.
                    When I was at university, you didn’t have the finals exam on the second week. That’s all I’m asking, something aimed at beginners. This is all very confusing if you don’t have any experience in this, don’t know anyone to ask for verbal help or instruction, etc. A do a lot of reading myself (I mean, nothing else much to do at the moment), but this is not something where there is anything really entry level. (And yes, I’d do a course if I was able to.)

                    Comment


                      To be fair Kryss, learning JavaScript is a bloody awful way to learn programming. I would still start with C. It’s more challenging but you learn how computers work, properly. It forces you to understand what’s going on under the hood and that will stand you in great stead in the future. JavaScript was created, start to finish in under a fortnight I believe, and it shows.

                      Comment


                        Originally posted by Brad View Post
                        Because they already have a degree in computer science. Why would they need a beginner programming book?
                        To teach them a new/different language? It’s quite shocking how some of these ‘beginners’ books seem to assume a lot of prior knowledge already.

                        Comment


                          Originally posted by Protocol Penguin View Post
                          To teach them a new/different language? It’s quite shocking how some of these ‘beginners’ books seem to assume a lot of prior knowledge already.
                          You’d buy a book on that language. Not a beginner book. Actually you’d just use online resources to work out the syntax and semantic differences to languages you already knew.

                          My advice is to get the extremely concise book called The C Programming Language by Brian Kernighan (you can probably find a pdf online if you look hard enough) and work your way through that. It’s an old book but it’s still totally valid and not one of these unnecessarily large bible sized tomes!

                          It will teach you about memory layout, data types, and all the other fundamentals.

                          Comment


                            Originally posted by Brad View Post
                            You’d buy a book on that language. Not a beginner book. Actually you’d just use online resources to work out the syntax and semantic differences to languages you already knew.

                            My advice is to get the extremely concise book called The C Programming Language by Brian Kernighan (you can probably find a pdf online if you look hard enough) and work your way through that. It’s an old book but it’s still totally valid and not one of these unnecessarily large bible sized tomes!

                            It will teach you about memory layout, data types, and all the other fundamentals.
                            OK, but I thought Python was the ‘beginner’ language? I thought C was meant to be more complex. And I’ve had a Java learning app just suggested to me. Which one do I start on as a ‘beginner’? I’ve never been formally taught computer science.

                            Comment


                              You’ll get a hundred answers to that question.

                              Python will get you results faster, for sure.

                              My opinion is that python does not teach you good software engineering principles and you don’t get to understand how and why computer programs actually work. Learning C will give you that. Eventually you’ll want to move to C++ but I’d start with C still. I’ve been doing this professionally for 30 years but this is still just my opinion.

                              Comment


                                Also don’t confuse java with JavaScript. They are totally unrelated. Yes that is confusing and extremely annoying I know.

                                Java is related to JavaScript in the same way that a Car is related to Carpet.

                                Comment

                                Working...
                                X