Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Self-directed learning

Self-directed learning

Scheduled Pinned Locked Moved The Lounge
questiondiscussionlearningjavascriptpython
69 Posts 23 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B BiggerDon

    I've lurked here from time to time, making off-the-wall comments from time to time. Now, with all my great contributions :) accredited, I'm going to ask for some opinion on a matter near and dear to me. My career was mainly in consulting and HQ Information Systems. My undergraduate is in Accounting and Info Systems (not comp sci, sorry), so Things got rough personally and I ended up in a Help Desk. (Not looking for sympathy, just explaining the situation.) In digging my way back out of a hole of my own making I started defining and taking on projects to automate some of the brain- and time-killing work people do to combine this report and that to make Excel workbooks. From there I started to learn VBA (I know, it's not as good as any other language a real programmer would use!) on my own through books, experimentation, some on-line fora, and writing a blog (with very few views...and I'm not pushing that here) mainly because I realized long ago that writing is a means to make certain I know what I think I learned. I've got no training budget, and corporations don't spend money training someone who is (a) working with non-mainstream technology and (b) past the age of 50. Yes, I'll get to the question(s)! Recently I started considering branching out. I figured I could take what I know about programming in a MS spreadsheet world and leverage that to Google Drive and OpenOffice, mainly to start learning more mainstream languages, e.g. Python and Javascript. Of course, I am interested in your opinions as to which language(s) to go after to build more knowledge and understanding, whether you think this is a fool's errand, etc etc. I am most interested in how you've gone about being self-educated in different languages and technologies. Thoughts?

    cat fud heer

    D Offline
    D Offline
    David Crow
    wrote on last edited by
    #19

    BiggerDon wrote:

    From there I started to learn VBA (I know, it's not as good as any other language a real programmer would use!)

    A programming language is nothing more than a tool used to solve a problem. If your problem is solved, you have nothing to "apologize" for.

    BiggerDon wrote:

    Of course, I am interested in your opinions as to which language(s) to go after to build more knowledge and understanding, whether you think this is a fool's errand, etc etc.
     
    I am most interested in how you've gone about being self-educated in different languages and technologies.

    I personally think that learning a computer language without first learning programming principles, methodologies, and problem solving, is taking a step in the wrong direction (I base this opinion on many years of watching the types of questions asked here at CP). Now if you already have these skills, then learning a computer language is trivial. While their syntax is different, they all have a common goal, and switching between a handful of them should not be a big deal. I've seen way too many instances where a person will be presented with a problem, and that person wants to immediately run to the keyboard and start banging out code (using their favorite language). The issue arises when they do not have access to that language and thus cannot think their way through the problem.

    "One man's wage rise is another man's price increase." - Harold Wilson

    "Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons

    "You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles

    B 1 Reply Last reply
    0
    • OriginalGriffO OriginalGriff

      I'd submit that the language is irrelevant: you can pick up most languages in a day or two (heck, the whole of C# is a couple of hours!). What takes time is the framework the language will be used in: .NET, Android, iOS are all different, and they are a huge amount of learning. Think about it: it you are competent at C#, you could learn and be competent in VB in a day or so (and most of that time will be swearing at it for being a stupid rather verbose language in comparison :laugh: )

      Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

      B Offline
      B Offline
      BiggerDon
      wrote on last edited by
      #20

      Thanks, Griff. Much appreciated. I think you're right, the basics of the languages are much the same, as I mentioned above. Learning the syntax, at least to some level does not take long but the context (framework) is where the gold is, and mining isn't an easy task. Regarding VB versus c# verbosity, I'm not sure exactly what you mean. My guess is what you are saying is it takes more lines of code to perform the same tasks. It's something I'll look at as I move forward. OTOH, which of these is more verbose (yes, that's arguing by exception. :) ) VB: MsgBox("This is the message") c#: MessageBox.Show("This is the message") There is another point to the example. I found in a tutorial that Java Script considers "length" to be a property, whereas VB uses the "Len() function. There can be arguments as to which is more "right", which to me is a theological angels-on-the-head-of-a-pin argument. In the background I know that the software has to do the same thing: determine the number of characters of the string. My only worry is how to get the data I need for code to work. Quod rectum est practica. (That which is practical is right, not "What a practical *". :laugh: )

      cat fud heer

      OriginalGriffO 1 Reply Last reply
      0
      • B Brady Kelly

        Java is only now getting lambdas. I wouldn't recommend Java as a first, non-necessity, choice at all.

        No object is so beautiful that, under certain conditions, it will not look ugly. - Oscar Wilde

        B Offline
        B Offline
        BiggerDon
        wrote on last edited by
        #21

        Brady Kelly wrote:

        Java is only now getting lambdas.

        whoa! That one got me googling! I had no idea what you meant by "getting lambdas", and now that I've looked it up I am wonderring what the difference is between a "true" lambda and what I have done in quaint vba, where a parameterized function is used as a parameter to a subroutine...

        Call (()

        Someday I'll figure that one out. When I do, I'm sore it will be a forehead slapper!

        Brady Kelly wrote:

        I wouldn't recommend Java as a first, non-necessity, choice at all.

        I am trying to pick the next language(s) based on "What can I do with this?" as well as "What can I learn?" IOW, Ada and Pick aren't in the picture. However, my employer uses a scad of Java, so I might give it a look-see. Necessity may be the mother of Invention, but the necessities need to be paid.

        cat fud heer

        B 1 Reply Last reply
        0
        • B BiggerDon

          Thanks, Griff. Much appreciated. I think you're right, the basics of the languages are much the same, as I mentioned above. Learning the syntax, at least to some level does not take long but the context (framework) is where the gold is, and mining isn't an easy task. Regarding VB versus c# verbosity, I'm not sure exactly what you mean. My guess is what you are saying is it takes more lines of code to perform the same tasks. It's something I'll look at as I move forward. OTOH, which of these is more verbose (yes, that's arguing by exception. :) ) VB: MsgBox("This is the message") c#: MessageBox.Show("This is the message") There is another point to the example. I found in a tutorial that Java Script considers "length" to be a property, whereas VB uses the "Len() function. There can be arguments as to which is more "right", which to me is a theological angels-on-the-head-of-a-pin argument. In the background I know that the software has to do the same thing: determine the number of characters of the string. My only worry is how to get the data I need for code to work. Quod rectum est practica. (That which is practical is right, not "What a practical *". :laugh: )

          cat fud heer

          OriginalGriffO Offline
          OriginalGriffO Offline
          OriginalGriff
          wrote on last edited by
          #22

          Ah, but those are different frameworks! :laugh: the VB example is out-of-date - it died (or should have) with VB6. In .NET VB you would write: VB:

          MessageBox.Show("This is the message")

          c#:

          MessageBox.Show("This is the message");

          Where it would appear the C# is still longer! :laugh: The MsgBox syntax is (or should be) discouraged, along with ON ERROR (and particularly ON ERROR RESUME NEXT) now that exceptions provide a better, more consistent way to deal with problems. But, they are both included in .NET VB for historical compatibility with VB6... What I'm talking about is things like this:

          If a = b Then
          DoSomething()
          End If

          Instead of

          if (a == b) DoSomething();

          And VB doesn't make a distinction between "=" and "==" either, or between Something(i) and Something[i], and the way it auto converts datatypes and the problems that causes, and... Let's just say it's a lot easier to write total cr@p in VB than it is in C# and get it through the compiler to bite you at run time! :laugh:

          Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

          "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
          "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

          F B 2 Replies Last reply
          0
          • M Marc Clifton

            BiggerDon wrote:

            I am most interested in how you've gone about being self-educated in different languages and technologies.

            A variety of ways - in the early days (1980's) I learned BASIC and assembly from reading books, which then actually had meaningful content. I also soaked up all the hardware books I could find. I learned C from K&R, C++ from Stroustrup and others, and Pascal from Borland. College taught me Fortran :doh: C# I learned from playing around with it and reading MSDN articles - it was an easy enough transition from C/C++. Conversely, Ruby on Rails was a monster. My first intro to a duck-typed language as well as diving into Ubuntu, web development (and all that comes with that). My client was also my mentor, and that was absolutely necessary and a far better experience than any collection of books could have given me, or classrooms, IMO. After two years of that, I've concluded that duck-typed languages are a Really Bad Idea. I picked up PHP in a couple of hours -- the online documentation / community is outstanding. As of two weeks ago, I'm doing my first ever Java coding. Some gnashing of teeth at some of the BS in the language, and I find the Oracle documentation sort of sucks. Funny how with PHP, I would find answers on the PHP site, while with Java, I find answer on Stack Overflow. However, Java is so similar to C# that it's a fairly easy transition, most of the learning curve is in the IntelliJ IDE and figuring out what framework components support what I want to do (like event listeners, hashmaps, etc.) My recommendation? Start with what I think is the best programming language out there right now: C#. Everything else I've found to be a teeth gnashing experience (mind you, not that C# has those moments too, but they don't usually require a visit to the orthodontist afterwards.) Marc

            Imperative to Functional Programming Succinctly Higher Order Programming

            B Offline
            B Offline
            BiggerDon
            wrote on last edited by
            #23

            Marc...Thanks for the reply. It looks like I may need to give c# a look-see based on the number of people talking it up. My only question (for myself, not you) is "What would I do with it?" That question might open a whole case of caviar! "Duck typing" was a new term for me. That's what I get for becoming a process consultant and project manager, eh? I feel like I've been out of class and need to figure what happened in my absence. Not to worry, though. The 15 minutes I spent reading about it just now was time well-spent and a bit humoirous. It reminded me of an early data modeling effort in which we spent a day driving the model to complete abstraction until we realized the assumption was "If the data doesn't fit, the error routine will pass it by." ...and thanks for the links in your sig. Getting back into programming I need to think at a higher level than syntax and error handling routines.

            cat fud heer

            M S F 3 Replies Last reply
            0
            • B BiggerDon

              Marc...Thanks for the reply. It looks like I may need to give c# a look-see based on the number of people talking it up. My only question (for myself, not you) is "What would I do with it?" That question might open a whole case of caviar! "Duck typing" was a new term for me. That's what I get for becoming a process consultant and project manager, eh? I feel like I've been out of class and need to figure what happened in my absence. Not to worry, though. The 15 minutes I spent reading about it just now was time well-spent and a bit humoirous. It reminded me of an early data modeling effort in which we spent a day driving the model to complete abstraction until we realized the assumption was "If the data doesn't fit, the error routine will pass it by." ...and thanks for the links in your sig. Getting back into programming I need to think at a higher level than syntax and error handling routines.

              cat fud heer

              M Offline
              M Offline
              Marc Clifton
              wrote on last edited by
              #24

              BiggerDon wrote:

              My only question (for myself, not you) is "What would I do with it?"

              Well, I'll answer anyways! I'm looking for people wanting to contribute to HOPE - developer roadmap[^] and would be more than happy to pick some small projects and offer mentoring services. Marc

              Imperative to Functional Programming Succinctly Higher Order Programming

              B 1 Reply Last reply
              0
              • B BiggerDon

                Brady Kelly wrote:

                Java is only now getting lambdas.

                whoa! That one got me googling! I had no idea what you meant by "getting lambdas", and now that I've looked it up I am wonderring what the difference is between a "true" lambda and what I have done in quaint vba, where a parameterized function is used as a parameter to a subroutine...

                Call (()

                Someday I'll figure that one out. When I do, I'm sore it will be a forehead slapper!

                Brady Kelly wrote:

                I wouldn't recommend Java as a first, non-necessity, choice at all.

                I am trying to pick the next language(s) based on "What can I do with this?" as well as "What can I learn?" IOW, Ada and Pick aren't in the picture. However, my employer uses a scad of Java, so I might give it a look-see. Necessity may be the mother of Invention, but the necessities need to be paid.

                cat fud heer

                B Offline
                B Offline
                Brady Kelly
                wrote on last edited by
                #25

                Oh wow, didn't know VBA could do that. My reply was more aimed at griff than you - and he should immediately know what I mean. I was reserving a longer and better reply directly to you for later, when I had thinking time :) Nothing wrong with learning Java if your employer uses it. It's a solid language for loads of good OO principles, but just a little behind.

                No object is so beautiful that, under certain conditions, it will not look ugly. - Oscar Wilde

                B 1 Reply Last reply
                0
                • B BiggerDon

                  I've lurked here from time to time, making off-the-wall comments from time to time. Now, with all my great contributions :) accredited, I'm going to ask for some opinion on a matter near and dear to me. My career was mainly in consulting and HQ Information Systems. My undergraduate is in Accounting and Info Systems (not comp sci, sorry), so Things got rough personally and I ended up in a Help Desk. (Not looking for sympathy, just explaining the situation.) In digging my way back out of a hole of my own making I started defining and taking on projects to automate some of the brain- and time-killing work people do to combine this report and that to make Excel workbooks. From there I started to learn VBA (I know, it's not as good as any other language a real programmer would use!) on my own through books, experimentation, some on-line fora, and writing a blog (with very few views...and I'm not pushing that here) mainly because I realized long ago that writing is a means to make certain I know what I think I learned. I've got no training budget, and corporations don't spend money training someone who is (a) working with non-mainstream technology and (b) past the age of 50. Yes, I'll get to the question(s)! Recently I started considering branching out. I figured I could take what I know about programming in a MS spreadsheet world and leverage that to Google Drive and OpenOffice, mainly to start learning more mainstream languages, e.g. Python and Javascript. Of course, I am interested in your opinions as to which language(s) to go after to build more knowledge and understanding, whether you think this is a fool's errand, etc etc. I am most interested in how you've gone about being self-educated in different languages and technologies. Thoughts?

                  cat fud heer

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #26

                  Individuals learn best in their own way - there's no 'right way' of learning. some folk need a class with real-time Q&A, some prefer self-paced 'how to' books, some online video courses, etc. Personally I find that having something to actually achieve is my starting point. Rather than a course that shows me how to produce this simple outcome, or even a complex outcome that makes little or no sense to me, I start with a project. Then find out how to do it using google-fu There might be some courses out there that help with bits, some blogs that help with others and sometimes I might even resort {shudder} to Q&A @ CP And blogging about it helps- as you have said - as a teacher, getting one student to explain something to another is a great way of making sure they understand - and identifying the bits they don't. so, I would take something you have done in VBA & start off with a 'how could I do this in google Docs' - and see where it leads you

                  PooperPig - Coming Soon

                  1 Reply Last reply
                  0
                  • B BiggerDon

                    Marc...Thanks for the reply. It looks like I may need to give c# a look-see based on the number of people talking it up. My only question (for myself, not you) is "What would I do with it?" That question might open a whole case of caviar! "Duck typing" was a new term for me. That's what I get for becoming a process consultant and project manager, eh? I feel like I've been out of class and need to figure what happened in my absence. Not to worry, though. The 15 minutes I spent reading about it just now was time well-spent and a bit humoirous. It reminded me of an early data modeling effort in which we spent a day driving the model to complete abstraction until we realized the assumption was "If the data doesn't fit, the error routine will pass it by." ...and thanks for the links in your sig. Getting back into programming I need to think at a higher level than syntax and error handling routines.

                    cat fud heer

                    S Offline
                    S Offline
                    Simon ORiordan from UK
                    wrote on last edited by
                    #27

                    Ten years ago I was made redundant. I self-studied by buying an old copy of VS 97 Enterprise. Then I shopped on ebay for an old box that I could put NT4 on. Thus I had two boxes, the vintage one with all the visual studio boondoggles from 1997, and my main one with the Express versions of vs 2005, for learning C#, VB.NET, ASP.NET and ADO.NET. Then I started working through second hand books. What did 97 teach me? COM, MFC, Win32, VB5 OOP(almost the same as VB6, which still sells at a huge premium),Databases, simple Access, SQL Server, client-server, Crystal Reports. I also picked up a third box to play with Linux. Of course with all these boxes I needed networking and pipes. To learn remote sql server programming for example. Within 2 years(I had commercial vb and C already), I was being flown out to Amsterdam and Belfast for interviews Meaning, you start small, but growth doesn't have to cost the Earth. And Dan Appleman(the software author and entrepreneur), replies to requests for help with free copies of his old stuff and friendly encouragement. :)

                    B 1 Reply Last reply
                    0
                    • B BiggerDon

                      I've lurked here from time to time, making off-the-wall comments from time to time. Now, with all my great contributions :) accredited, I'm going to ask for some opinion on a matter near and dear to me. My career was mainly in consulting and HQ Information Systems. My undergraduate is in Accounting and Info Systems (not comp sci, sorry), so Things got rough personally and I ended up in a Help Desk. (Not looking for sympathy, just explaining the situation.) In digging my way back out of a hole of my own making I started defining and taking on projects to automate some of the brain- and time-killing work people do to combine this report and that to make Excel workbooks. From there I started to learn VBA (I know, it's not as good as any other language a real programmer would use!) on my own through books, experimentation, some on-line fora, and writing a blog (with very few views...and I'm not pushing that here) mainly because I realized long ago that writing is a means to make certain I know what I think I learned. I've got no training budget, and corporations don't spend money training someone who is (a) working with non-mainstream technology and (b) past the age of 50. Yes, I'll get to the question(s)! Recently I started considering branching out. I figured I could take what I know about programming in a MS spreadsheet world and leverage that to Google Drive and OpenOffice, mainly to start learning more mainstream languages, e.g. Python and Javascript. Of course, I am interested in your opinions as to which language(s) to go after to build more knowledge and understanding, whether you think this is a fool's errand, etc etc. I am most interested in how you've gone about being self-educated in different languages and technologies. Thoughts?

                      cat fud heer

                      A Offline
                      A Offline
                      aayawa
                      wrote on last edited by
                      #28

                      I prefer self directed learning personally. If you have the free time for it s course will be great but generally you only learn enough to be dangerous. Here is what I tend to do 1. Read enough to install the language and any IDE there is. THis can take a while or may be impossible ( I failed to get julia installed on REDHAT at work, but it went like a dream on my MacbookPro and works well in Windows on my work box. 2. Then write a hello world program. I start with hello world then start working out how to import modules from other files so I know I can build libraries if I wish 3. Now pick a project: I often repeat something I did in a language I know, for example a prime number sieve is relatively simple and you can benchmark it against other languages. Alternatively something I read might gove me an idea but most of those ideas require a lot of time and effort and get frustrating when leanring a new language 4. If no project comes to mind try somewhere like Project Euler or just google on "Undergraduate computer science projects" 5. As to the two languages you mention: Download AptanaStudio 3 for JAvascripe. I think it also includes PYDEV, but I always install Pydev for Eclipse. The IDE is a little temperamental and sometimes it is easier to run javascript externally. Use Firefox and install developer tools 6. If you are doing this privately be ready for lots of WTF moment and a lot of googling and going the wrong direction.

                      B 1 Reply Last reply
                      0
                      • OriginalGriffO OriginalGriff

                        Ah, but those are different frameworks! :laugh: the VB example is out-of-date - it died (or should have) with VB6. In .NET VB you would write: VB:

                        MessageBox.Show("This is the message")

                        c#:

                        MessageBox.Show("This is the message");

                        Where it would appear the C# is still longer! :laugh: The MsgBox syntax is (or should be) discouraged, along with ON ERROR (and particularly ON ERROR RESUME NEXT) now that exceptions provide a better, more consistent way to deal with problems. But, they are both included in .NET VB for historical compatibility with VB6... What I'm talking about is things like this:

                        If a = b Then
                        DoSomething()
                        End If

                        Instead of

                        if (a == b) DoSomething();

                        And VB doesn't make a distinction between "=" and "==" either, or between Something(i) and Something[i], and the way it auto converts datatypes and the problems that causes, and... Let's just say it's a lot easier to write total cr@p in VB than it is in C# and get it through the compiler to bite you at run time! :laugh:

                        Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

                        F Offline
                        F Offline
                        Fabio Franco
                        wrote on last edited by
                        #29

                        OriginalGriff wrote:

                        Let's just say it's a lot easier to write total cr@p in VB than it is in C# and get it through the compiler to bite you at run time! :laugh:

                        Amen

                        To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

                        1 Reply Last reply
                        0
                        • B BiggerDon

                          Marc...Thanks for the reply. It looks like I may need to give c# a look-see based on the number of people talking it up. My only question (for myself, not you) is "What would I do with it?" That question might open a whole case of caviar! "Duck typing" was a new term for me. That's what I get for becoming a process consultant and project manager, eh? I feel like I've been out of class and need to figure what happened in my absence. Not to worry, though. The 15 minutes I spent reading about it just now was time well-spent and a bit humoirous. It reminded me of an early data modeling effort in which we spent a day driving the model to complete abstraction until we realized the assumption was "If the data doesn't fit, the error routine will pass it by." ...and thanks for the links in your sig. Getting back into programming I need to think at a higher level than syntax and error handling routines.

                          cat fud heer

                          F Offline
                          F Offline
                          Fabio Franco
                          wrote on last edited by
                          #30

                          BiggerDon wrote:

                          What would I do with it?"

                          Pretty much almost everything. And now with the great [Visual Studio Community Edition](http://www.visualstudio.com/en-us/downloads/ download-visual-studio-vs#d-community)[](http://www.visualstudio.com/en-us/downloads/ download-visual-studio-vs#d-community)[^], you have the best IDE, full featured, for free. And you can worry about the many frameworks that supports C#, to name a few: - Web Development: ASP.net (WebForms, MVC, Web API, etc) - Desktop Development: Console, Windows Forms, WPF - Middle-ware Services: Web Services and Windows Services through WCF - Embedded Systems and IOT (Internet Of Things): .Net MicroFramework All of this with a great community support.

                          To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

                          B 1 Reply Last reply
                          0
                          • B BiggerDon

                            I've lurked here from time to time, making off-the-wall comments from time to time. Now, with all my great contributions :) accredited, I'm going to ask for some opinion on a matter near and dear to me. My career was mainly in consulting and HQ Information Systems. My undergraduate is in Accounting and Info Systems (not comp sci, sorry), so Things got rough personally and I ended up in a Help Desk. (Not looking for sympathy, just explaining the situation.) In digging my way back out of a hole of my own making I started defining and taking on projects to automate some of the brain- and time-killing work people do to combine this report and that to make Excel workbooks. From there I started to learn VBA (I know, it's not as good as any other language a real programmer would use!) on my own through books, experimentation, some on-line fora, and writing a blog (with very few views...and I'm not pushing that here) mainly because I realized long ago that writing is a means to make certain I know what I think I learned. I've got no training budget, and corporations don't spend money training someone who is (a) working with non-mainstream technology and (b) past the age of 50. Yes, I'll get to the question(s)! Recently I started considering branching out. I figured I could take what I know about programming in a MS spreadsheet world and leverage that to Google Drive and OpenOffice, mainly to start learning more mainstream languages, e.g. Python and Javascript. Of course, I am interested in your opinions as to which language(s) to go after to build more knowledge and understanding, whether you think this is a fool's errand, etc etc. I am most interested in how you've gone about being self-educated in different languages and technologies. Thoughts?

                            cat fud heer

                            F Offline
                            F Offline
                            Fabio Franco
                            wrote on last edited by
                            #31

                            BiggerDon wrote:

                            I am most interested in how you've gone about being self-educated in different languages and technologies.

                            Books, books and then, more books. At the age of 15 I had a thousand page VB 5 teach yourself book sitting on my lap, while I was in front of my computer trying out what the book was teaching. Of course, nowadays a kindle won't feel so heavy and cumbersome. This may take a little while of your time, but it is a lot of fun and you can learn things the right way. And the best part is, it is cheap. Plus you can learn on your own pace. It worked very well for me to the point that I started my career before getting to college.

                            To alcohol! The cause of, and solution to, all of life's problems - Homer Simpson ---- Our heads are round so our thoughts can change direction - Francis Picabia

                            B 1 Reply Last reply
                            0
                            • B BiggerDon

                              I've lurked here from time to time, making off-the-wall comments from time to time. Now, with all my great contributions :) accredited, I'm going to ask for some opinion on a matter near and dear to me. My career was mainly in consulting and HQ Information Systems. My undergraduate is in Accounting and Info Systems (not comp sci, sorry), so Things got rough personally and I ended up in a Help Desk. (Not looking for sympathy, just explaining the situation.) In digging my way back out of a hole of my own making I started defining and taking on projects to automate some of the brain- and time-killing work people do to combine this report and that to make Excel workbooks. From there I started to learn VBA (I know, it's not as good as any other language a real programmer would use!) on my own through books, experimentation, some on-line fora, and writing a blog (with very few views...and I'm not pushing that here) mainly because I realized long ago that writing is a means to make certain I know what I think I learned. I've got no training budget, and corporations don't spend money training someone who is (a) working with non-mainstream technology and (b) past the age of 50. Yes, I'll get to the question(s)! Recently I started considering branching out. I figured I could take what I know about programming in a MS spreadsheet world and leverage that to Google Drive and OpenOffice, mainly to start learning more mainstream languages, e.g. Python and Javascript. Of course, I am interested in your opinions as to which language(s) to go after to build more knowledge and understanding, whether you think this is a fool's errand, etc etc. I am most interested in how you've gone about being self-educated in different languages and technologies. Thoughts?

                              cat fud heer

                              T Offline
                              T Offline
                              TWallick
                              wrote on last edited by
                              #32

                              A great place to start learning almost any language is codecademy It's free and covers a lot of material in a step by step manner. With everything you learn it tests your knowledge before moving on to the next subject. It won't teach you everything but it does give you that guided start which is the hardest part. Codecademy will also show you where to find good reference material to continue expanding your knowledge of a particular subject.

                              B 1 Reply Last reply
                              0
                              • B BiggerDon

                                I've lurked here from time to time, making off-the-wall comments from time to time. Now, with all my great contributions :) accredited, I'm going to ask for some opinion on a matter near and dear to me. My career was mainly in consulting and HQ Information Systems. My undergraduate is in Accounting and Info Systems (not comp sci, sorry), so Things got rough personally and I ended up in a Help Desk. (Not looking for sympathy, just explaining the situation.) In digging my way back out of a hole of my own making I started defining and taking on projects to automate some of the brain- and time-killing work people do to combine this report and that to make Excel workbooks. From there I started to learn VBA (I know, it's not as good as any other language a real programmer would use!) on my own through books, experimentation, some on-line fora, and writing a blog (with very few views...and I'm not pushing that here) mainly because I realized long ago that writing is a means to make certain I know what I think I learned. I've got no training budget, and corporations don't spend money training someone who is (a) working with non-mainstream technology and (b) past the age of 50. Yes, I'll get to the question(s)! Recently I started considering branching out. I figured I could take what I know about programming in a MS spreadsheet world and leverage that to Google Drive and OpenOffice, mainly to start learning more mainstream languages, e.g. Python and Javascript. Of course, I am interested in your opinions as to which language(s) to go after to build more knowledge and understanding, whether you think this is a fool's errand, etc etc. I am most interested in how you've gone about being self-educated in different languages and technologies. Thoughts?

                                cat fud heer

                                E Offline
                                E Offline
                                Eric Whitmore
                                wrote on last edited by
                                #33

                                My primary way of learning technology is to use youtube coding tutorials. I ALWAYS start with youtube when learning a new technology and branch out to written tutorials from there. If you want to learn c# this is one of the BEST video tutorial playlists i have found https://www.youtube.com/playlist?list=PLAC325451207E3105[^]

                                Eric

                                B 1 Reply Last reply
                                0
                                • OriginalGriffO OriginalGriff

                                  Ah, but those are different frameworks! :laugh: the VB example is out-of-date - it died (or should have) with VB6. In .NET VB you would write: VB:

                                  MessageBox.Show("This is the message")

                                  c#:

                                  MessageBox.Show("This is the message");

                                  Where it would appear the C# is still longer! :laugh: The MsgBox syntax is (or should be) discouraged, along with ON ERROR (and particularly ON ERROR RESUME NEXT) now that exceptions provide a better, more consistent way to deal with problems. But, they are both included in .NET VB for historical compatibility with VB6... What I'm talking about is things like this:

                                  If a = b Then
                                  DoSomething()
                                  End If

                                  Instead of

                                  if (a == b) DoSomething();

                                  And VB doesn't make a distinction between "=" and "==" either, or between Something(i) and Something[i], and the way it auto converts datatypes and the problems that causes, and... Let's just say it's a lot easier to write total cr@p in VB than it is in C# and get it through the compiler to bite you at run time! :laugh:

                                  Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

                                  B Offline
                                  B Offline
                                  BiggerDon
                                  wrote on last edited by
                                  #34

                                  OriginalGriff wrote:

                                  What I'm talking about is things like this:

                                  If a = b Then
                                  DoSomething()
                                  End If

                                  Instead of

                                  if (a == b) DoSomething();

                                  Ah, but this is valid in VBA (can't speak for VB with the A)

                                  If a= b then DoSomething()

                                  The "Then" is necessary but the End If only when more than one command follows. I find it neither better nor worse that using "{}" to establish the boundaries of the If (or Else) scoped commands. Just a different way of saying the same thing. Me, I tend to use the End If whether there is one command or multiple. It makes it easier for me to find where I have left one out when the compiler complains.

                                  OriginalGriff wrote:

                                  Let's just say it's a lot easier to write total cr@p in VB than it is in C# and get it through the compiler to bite you at run time! :laugh:

                                  That reminds me of a study around the time when PCs and Apples were first around. The study claimed the papers written on the PCs were of higher quality supposedly because the students with the Apples had less experience with working through detailed issues. ...and something else, "We learn from our mistakes then make bigger and better ones." I'm convinced there is no such thing as and idiot-proof language. There are so many human and social factors that go into developing an application of any size, discipline is always the first defense against nonsense. As to the need for having "==" (or "===" as in java script) as a comparator, I'm not sold on it. Not opposed, just not convinced and don't care enough one way or another to make a case for or against. Like I said before, it's all in the practicality to me: what does the compiler expect.

                                  cat fud heer

                                  OriginalGriffO 1 Reply Last reply
                                  0
                                  • P PIEBALDconsult

                                    BiggerDon wrote:

                                    how you've gone about being self-educated in different languages and technologies

                                    I have found that I am more suited to a classroom situation, for the structure more than anything else. I have not had trouble extending my study and knowledge of something on my own once I have a start, but that start requires a rather swift kick. Examples: When .net came out I read the spec of C# and bought "Visual C#" (essentially Visual Studio .net 2002 with only C#), then just kinda sat there looking at it. Then I took some MCAD classes (C#, ADO.net, ASP.net) and . A few years ago I bought a copy of "Learn Java for Android in 21 Days" (or something like that). I installed the SDK and Eclipse, read chapters 1 and 2, and haven't touched it since. I should look for a class.

                                    B Offline
                                    B Offline
                                    BiggerDon
                                    wrote on last edited by
                                    #35

                                    Thanks, PIEBALD. Your experiences remind me of the foot of shelf space that has 20 year old books on C because I was convinced I was going to learn it. Like you, I find the external expectations to be helpful, whether it is a project I've taken on (little ones) or taking a class/tutorial. It's the human need for positive feedback and the avoidance of negative perceptions. That's why (in one of my responses here) I've talked about "Okay, what an I going to do with it?" when someone suggested a language. I want something back for my investment of time and brain power, not just an activity to check off or put on a resume.

                                    cat fud heer

                                    J 1 Reply Last reply
                                    0
                                    • B BiggerDon

                                      I've lurked here from time to time, making off-the-wall comments from time to time. Now, with all my great contributions :) accredited, I'm going to ask for some opinion on a matter near and dear to me. My career was mainly in consulting and HQ Information Systems. My undergraduate is in Accounting and Info Systems (not comp sci, sorry), so Things got rough personally and I ended up in a Help Desk. (Not looking for sympathy, just explaining the situation.) In digging my way back out of a hole of my own making I started defining and taking on projects to automate some of the brain- and time-killing work people do to combine this report and that to make Excel workbooks. From there I started to learn VBA (I know, it's not as good as any other language a real programmer would use!) on my own through books, experimentation, some on-line fora, and writing a blog (with very few views...and I'm not pushing that here) mainly because I realized long ago that writing is a means to make certain I know what I think I learned. I've got no training budget, and corporations don't spend money training someone who is (a) working with non-mainstream technology and (b) past the age of 50. Yes, I'll get to the question(s)! Recently I started considering branching out. I figured I could take what I know about programming in a MS spreadsheet world and leverage that to Google Drive and OpenOffice, mainly to start learning more mainstream languages, e.g. Python and Javascript. Of course, I am interested in your opinions as to which language(s) to go after to build more knowledge and understanding, whether you think this is a fool's errand, etc etc. I am most interested in how you've gone about being self-educated in different languages and technologies. Thoughts?

                                      cat fud heer

                                      S Offline
                                      S Offline
                                      Spart123
                                      wrote on last edited by
                                      #36

                                      Hello: I would also consider myself one of the more senior developers (50+). Most of the work we have done over the last 15 years or so was in VB6, but a few years ago we knew the future was somewhat limited. So I started to learn C#, that and some ASP.NET, Javascript etc. and we are now producing some interesting web sites, web applications and of course more desktop software. I can't say the learning curve has been easy, but we seem to be making pretty good progress now and it is pretty nice to have skills that are a little more "current" now. It is also fun when you push yourself out of the comfort zone, always lots to learn! So I would suggest C# too.... good luck. Dave

                                      B 1 Reply Last reply
                                      0
                                      • B BiggerDon

                                        OriginalGriff wrote:

                                        What I'm talking about is things like this:

                                        If a = b Then
                                        DoSomething()
                                        End If

                                        Instead of

                                        if (a == b) DoSomething();

                                        Ah, but this is valid in VBA (can't speak for VB with the A)

                                        If a= b then DoSomething()

                                        The "Then" is necessary but the End If only when more than one command follows. I find it neither better nor worse that using "{}" to establish the boundaries of the If (or Else) scoped commands. Just a different way of saying the same thing. Me, I tend to use the End If whether there is one command or multiple. It makes it easier for me to find where I have left one out when the compiler complains.

                                        OriginalGriff wrote:

                                        Let's just say it's a lot easier to write total cr@p in VB than it is in C# and get it through the compiler to bite you at run time! :laugh:

                                        That reminds me of a study around the time when PCs and Apples were first around. The study claimed the papers written on the PCs were of higher quality supposedly because the students with the Apples had less experience with working through detailed issues. ...and something else, "We learn from our mistakes then make bigger and better ones." I'm convinced there is no such thing as and idiot-proof language. There are so many human and social factors that go into developing an application of any size, discipline is always the first defense against nonsense. As to the need for having "==" (or "===" as in java script) as a comparator, I'm not sold on it. Not opposed, just not convinced and don't care enough one way or another to make a case for or against. Like I said before, it's all in the practicality to me: what does the compiler expect.

                                        cat fud heer

                                        OriginalGriffO Offline
                                        OriginalGriffO Offline
                                        OriginalGriff
                                        wrote on last edited by
                                        #37

                                        As far as "=" vs "==" goes, I made that mistake once in C:

                                        if (x = 3)
                                        {
                                        ...

                                        And it took forever to work out what the problem was, so it's not one I'll make again! In C#, that won't compile... :laugh:

                                        Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...

                                        "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                                        "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                                        B 1 Reply Last reply
                                        0
                                        • P Paul M Watt

                                          First, kudos for continuing to learn! That's more than most people do to begin with. Second, don't minimize anything you learn, regardless of language, the concepts are valuable. While it may be true that most developers don't use VBA, you are programming. Also, I have met many people that did not study CS in college and are great developers. One guy had a law degree. There are so many languages, infinite ways to solve problems, the choices are dizzying. I think the first thing I think you should do before you think about technologies, is decide what you want to do with your skills. If you want to continue to do tasks that are geared towards automating processes, python would be a good way to go. It is a general purpose scripting language that is widely available on all types of systems. If you are interested in web technologies, JavaScript would be a better choice. If you want to learn more general purpose programming, you can download Visual Studio Express for free from Microsoft and start learning VB.Net or C#. C# being the more valuable of the skills. Once you decide what you want to do, and choose a language based on that domain, get a book to help guide you. You don't even need to spend money, you can get many great books at the library. There's lots of stuff on the web, unfortunately you need to know what you are looking for to find it most of the time. Like others have said, there are so many frameworks, and complicated technologies. Try to focus on just learning like you have been. Solve small problems. Even make small personal utilities for yourself, something that will keep your interest. I have stayed with C++ my entire career, with the need to familiarize with JAVA, C#, Python, JavaScript or other technologies for a short period of time. I have remained primarily a general purpose developer with solid software architecture skills. Taking the stance that if a path leads me in a direction that I need to learn a new technology, that is when I pick it up. Frameworks and libraries come and go as time passes. The languages for the most part is what stays the same. Programming itself, is similar no matter what language you choose. You break bigger problems into smaller problems until they can be solved with the tool you are using. Focus on improving your problem solving skills. Once you are proficient with one language, it is much easier to pick up others. The fool's errand would be to stop learning.

                                          B Offline
                                          B Offline
                                          BiggerDon
                                          wrote on last edited by
                                          #38

                                          Paul, thanks for the reply. There's a lot in there and all of it appreciated. To be honest, I'm a bit overwhelmed (in a great way) with the number of responses, as well as their depths of knowledge and humanity. At this point of the day I'm thinking there is no single language for me to hit in the short term, so I'm thinking of a short-list of 3 to 5, and probably 3 is the max. A lot of that will be driven by whether I can find some project that uses one or more of those languages, then they will (of course) come to the front burner. Chickens, eggs; languages, projects.

                                          cat fud heer

                                          P 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups