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. Why Jonny Can't Code

Why Jonny Can't Code

Scheduled Pinned Locked Moved The Lounge
htmldatabasecomquestion
95 Posts 48 Posters 37 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.
  • A AdamNThompson

    "The problem with programming today, is that there's so much drag and drop, point and click, write no code stuff going on that people are taking contract work and hitting a wall the moment they find they need to write code after all" Amen to that. If I have to explain to one more stupid f**k how to loop through an collection, or or use a base page class I'm going to go gehad on their drag n' drop a**. 5 years ago I taught myself how to programm by reading books and tutorials online. I started with VB.NET and now do mostly C#. These days I make a good living building enterprise software. So I think .NET is a great place to start. I have tried several other languages and have not been impressed after working with .NET. I feel like nothing truly compairs. If I can become the developer for a software consulting company just by reading books and make the kind of money that good developers make with no colege degree, just by reading books. .NET is a great place to start. If you cant figure it out, maybe you are fresh out of college where they didn't teach you anything practical, or maybe this industry just isn't for you.

    -Adam N. Thompson

    E Offline
    E Offline
    ECDinovo
    wrote on last edited by
    #83

    AdamNThompson wrote:

    5 years ago I taught myself how to programm by reading books and tutorials online.

    Hey, Adam, I think that's great! You probably got yourself a book like Beginning C# and read through it starting at page 1. I do find it odd that people trying to learn something don't try this logical approach. Although, I must dissent with the forum on one topic: coming out of college, my peers and I appear to have the reverse of the problem described here. We have deep training in x86/MIPS assembly, C, Verilog, and Java SE languages. The problem most of my colleagues faced upon entering the workforce is that real work is done on top of a platform. Be it Java EE on WebSphere, .NET on IIS, Coldfusion on Tomcat, .NET Micro on ARM 9, or whatever. Imagine just knowing the Java SE 1.2 language: that doesn't make you a productive programmer. You need to know how to use the tools, designers, APIs, databases, and servers out there. Raw languages are just academic and don't help you solve your clients' business need. Am I making sense here?

    modified on Wednesday, October 14, 2009 7:05 PM

    A 1 Reply Last reply
    0
    • K Kirk Wood

      Actually, I think the author must be stupid. First, it took me less then 30 seconds to find qbasic.com where you can download guess what: a BASIC interpreter. But beyond that, I never learned Basic. And most of the programmers I know never learned Basic. I don't think it has a place in modern computing. I would say go download the free .NET version of Visual Studio and pick either VB.NET or C#. I was driven from programming from the attitude that you learn by suffering through things like how to get your program into the computer. After one semester of COBOL, I wrote off what is a great profession for me. Eventually I figured out there was no need to suffer with the things that made me hate that class. I will never subject my kids to Basic. They can learn from a usable language. They can go through bad phases in a way that at least will transfer to something useful.

      A Offline
      A Offline
      AspDotNetDev
      wrote on last edited by
      #84

      Kirk Wood wrote:

      I will never subject my kids to Basic. They can learn from a usable language

      QuickBasic is very usable, from a beginner perspective. Sure, you're not going to use that language in a real job, but it is fun for very small programs. And much of that programming transfers over to other languages. Not sure I would restrict a beginner student to a certain language just because it is more useful in the real world. Guess it also depends on what they want to do. If they want to make buttons and text boxes and such, C# might be the way to go. If they want to draw some pixels to the screen to make games or physics simulations, QuickBasic would be good. If they are older and interested in a career, something like C# would probably be more ideal. But if they are still in middle school or high school, no harm in having them play with programming for a while.

      Visual Studio is an excellent GUIIDE.

      1 Reply Last reply
      0
      • T TheGreatAndPowerfulOz

        Why Jonny Can't Code[^] I think this guy's got a point. Things are very, maybe too complex for simple PRINT "Hello World!" type programs today. A lot of today's technologies are not very approachable... You don't start out mountain climbing by first tackling Mt. Everest. You start out much much smaller and work up to Mt. Everest. Where's the BASIC of today. Can you even get BASIC nowadays?

        P Offline
        P Offline
        Phil Vacca
        wrote on last edited by
        #85

        I'm confused. Other than the single line "The "scripting" languages that serve as entry-level tools for today's aspiring programmers -- like Perl and Python -- don't make this experience accessible to students in the same way." there is no mention of the easiest two entry points into programming I can think of. What exactly is wrong with either language? Most of the web is written in Perl... And how can you get any closer to the line numbered experience that the author so forlornly laments than the python interpreter?

        1 Reply Last reply
        0
        • G Gary Kirkham

          What's an arbitrary GOTO statement?

          Gary Kirkham Forever Forgiven and Alive in the Spirit The men said to them, "Why do you seek the living One among the dead? He is not here, but He has risen." Me blog, You read

          B Offline
          B Offline
          BlueGm
          wrote on last edited by
          #86

          I'm not sure if you were serious about this question or not, but it actually points to what seems to be the real point of this topic. Learning good programming practices. Early versions of BASIC had an arbitrary GOTO statement that could go to any line of code, not just those that were labelled. That may have been what was meant, but when I think of an "arbitrary" goto, I tend to think of something else. To me, the problem wasn't the language, but the way it was used. I would, therefore, say that an arbitrary GOTO statement is one that doesn't follow a well known and easy to follow pattern. One that leads to what's called spaghetti code. I learned BASIC on my own and learned very quickly to organize my IF, GOTO, and GOSUB statements so that they were easy for me to follow. I was never told to do this, but I learned by example from seeing programs that had been well written. When I got into high school and took a computer programming class (which was a joke for me), I would finish my projects so quickly that I ended up helping other students. That's when I saw the importance of what I had already learned by example. In fact, I ended up polishing my programming style from the examples presented to me in that class (the only thing I did learn from that class). Some of the other students tried to imitate those examples as well and generally had well written and relatively easy to debug code. It would look something like this:

          10 x = 1
          20 if x <= 10 then goto 60
          30 print x
          40 x = x + 1
          50 goto 20
          60 end

          This is the BASIC encoding of a while loop (a bad one, since an FOR loop would be easier, but I didn't care to do something more practical for a while loop, such as reading a set of values until no more values remain). I forget what version of BASIC it was now (I learned so many =p). What the other students wrote (those who didn't catch on to the examples)... well, its hard to show with this simple of an example, but when you had more complex statements with any level of nesting, they would fail to structure their code in a way that made it easy to tell what was going on and they would have goto statements that crossed one another (loops would overlap instead of being nested, for example). I could still pick out the path of logic that their program would actually follow, but they couldn't. And my first step in fixing it would have been to organize it into meaningful structures in any case. Of course, when I was helping other students, I couldn't do that for them, and so I spent most

          1 Reply Last reply
          0
          • E ECDinovo

            AdamNThompson wrote:

            5 years ago I taught myself how to programm by reading books and tutorials online.

            Hey, Adam, I think that's great! You probably got yourself a book like Beginning C# and read through it starting at page 1. I do find it odd that people trying to learn something don't try this logical approach. Although, I must dissent with the forum on one topic: coming out of college, my peers and I appear to have the reverse of the problem described here. We have deep training in x86/MIPS assembly, C, Verilog, and Java SE languages. The problem most of my colleagues faced upon entering the workforce is that real work is done on top of a platform. Be it Java EE on WebSphere, .NET on IIS, Coldfusion on Tomcat, .NET Micro on ARM 9, or whatever. Imagine just knowing the Java SE 1.2 language: that doesn't make you a productive programmer. You need to know how to use the tools, designers, APIs, databases, and servers out there. Raw languages are just academic and don't help you solve your clients' business need. Am I making sense here?

            modified on Wednesday, October 14, 2009 7:05 PM

            A Offline
            A Offline
            AdamNThompson
            wrote on last edited by
            #87

            Ya, in some cases you may be right. It's just that the programmers that I have that are stright out of college have acidemic knolege but no real practical knolege of how to buld software. These are the ones i end teaching how to step through their veribles in debug mode using break points and stuff like that. They have no idea what a delgate is. And forget get about new language features. I admit that may not be the so in all cases as some people are just more passionate about their work than other. If you'e building a simple app to track Magic Cards. I cold teach a high schooler how. But whe it comes to buildign enterrnrtprist applications. There is a lot to know

            -Adam N. Thompson

            1 Reply Last reply
            0
            • A AspDotNetDev

              I have to peek a little first in order to get excited enough for the poke to be effective.

              Visual Studio is an excellent GUIIDE.

              T Offline
              T Offline
              the Kris
              wrote on last edited by
              #88

              Are we talking about girls or memory/port addresses ?

              A 1 Reply Last reply
              0
              • C Christian Graus

                I'm sorry. The article does appear stupid to me, but I did fly off a little bit. I'm just not having a good day. The point appears to me to be that languages with line numbers and no OO are a better starting point than any modern language. I don't really agree. You can create a simple VB.NET project and write plenty of VB code, without having line numbers, which are only useful for arbitrary goto statements, something I don't think people need to learn about.

                Christian Graus Driven to the arms of OSX by Vista. Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.

                C Offline
                C Offline
                CoolDadTx
                wrote on last edited by
                #89

                Having taught programming courses in various languages I can assure you the problem isn't with the language itself. The biggest detractor to .NET languages today is the framework and runtime. It is not sufficient to just use a language to write a program. You have to use the framework. Languages like C++ don't have this issue because you can write an entire C/C++ sample program without every using anything more than what is in the core language (aka defined by the language specification). STL, Windows and all the other libraries that are added to C++ aren't needed for simple stuff. (yes I know STL is defined in the C++ spec but it was a library that was added in later revisions and C doesn't have it) You can't do that with a .NET language. Even the simplest program requires that you rely on the framework. Not unto itself bad but it becomes harder to explain to someone who doesn't even yet know what a type or method is that they have to rely on a type and method to do something. Add to that the complexity of the framework (reference vs value types, newing ref types, etc) and things just get harder. It is to the point that you have to have a far broader knowledge base before you can write a simple program in .NET. Some books/classes on beginner .NET programming gloss over the framework until later. Whether that is better or not remains to be seen. Nevertheless Basic as defined in the article is outdated. Peek/Poke? The OS won't even let you directly access raw memory anymore so why make somebody use a language that embeds such features into the core language. There are updated beginner languages that would be better to learn against. I can't think of the name of the language right now but somebody wrote a new language about 5 or 6 years ago that is a stripped down version of VB that runs against .NET. It was designed for kids to learn programming. It attempts to isolate out the framework to allow kids to concentrate on the language while still building cool apps. I believe the sample apps included an asteroids like game which (of course) kids would be eager to learn to write. Overall it was a pretty impressive language because in a minimal amount of code they could have a simple game working. As they became more comfortable they could start grasping with the framework and runtime more because, after all, it was a .NET language.

                1 Reply Last reply
                0
                • T the Kris

                  Are we talking about girls or memory/port addresses ?

                  A Offline
                  A Offline
                  AspDotNetDev
                  wrote on last edited by
                  #90

                  I can't remember; I probably had too much port.

                  Visual Studio is an excellent GUIIDE.

                  1 Reply Last reply
                  0
                  • T TheGreatAndPowerfulOz

                    Why Jonny Can't Code[^] I think this guy's got a point. Things are very, maybe too complex for simple PRINT "Hello World!" type programs today. A lot of today's technologies are not very approachable... You don't start out mountain climbing by first tackling Mt. Everest. You start out much much smaller and work up to Mt. Everest. Where's the BASIC of today. Can you even get BASIC nowadays?

                    A Offline
                    A Offline
                    AspDotNetDev
                    wrote on last edited by
                    #91

                    QuickBasic 4.5 Runs on Windows XP

                    Visual Studio is an excellent GUIIDE.

                    1 Reply Last reply
                    0
                    • T TheGreatAndPowerfulOz

                      Why Jonny Can't Code[^] I think this guy's got a point. Things are very, maybe too complex for simple PRINT "Hello World!" type programs today. A lot of today's technologies are not very approachable... You don't start out mountain climbing by first tackling Mt. Everest. You start out much much smaller and work up to Mt. Everest. Where's the BASIC of today. Can you even get BASIC nowadays?

                      A Offline
                      A Offline
                      Acshi
                      wrote on last edited by
                      #92

                      Don't we have TI-BASIC for exactly what the article is talking about? Though I suspect price might be an issue...

                      1 Reply Last reply
                      0
                      • T TheGreatAndPowerfulOz

                        uh, yeah i have a fair bit of knowledge about programming. you miss the point. and your last paragraph is exactly the point of the article.

                        K Offline
                        K Offline
                        Karl Home
                        wrote on last edited by
                        #93

                        Visual Studio allows you to write command line programs in VB, C# and C++ (managed and unmanaged if I recall) Borland (or whatever they're called now) allows you to write command line programs in C++Builder and Delphi. In both cases you write all of the code (no wizards or wiz bang gizzmos), so I don't really understand the point being made in the article.

                        Good advice is always certain to be ignored, but that's no reason not to give it.

                        1 Reply Last reply
                        0
                        • F Flynn Arrowstarr Regular Schmoe

                          Beats the VB/C# equivalents: VB

                          Imports System

                          Namespace Tutorial
                          Public Class Hello
                          Public Shared Sub Main
                          Dim name As String
                          Console.WriteLine("Please enter your name.")
                          name = Console.ReadLine()
                          Console.WriteLine("Hello there, " & name & "!")
                          Console.ReadLine()
                          End Sub ' Main
                          End Class ' Hello
                          End Namespace ' Tutorial

                          C#

                          using System;

                          namespace Tutorial {
                          public class Hello {
                          public static void Main() {
                          string name;
                          Console.WriteLine("Please enter your name.");
                          name = Console.ReadLine();
                          Console.WriteLine("Hello there, " + name + "!");
                          Console.ReadLine();
                          } // end method Main
                          } // end class Hello
                          } // end namespace Tutorial

                          I'll be nice and not post the 200+ line Windows CE VC++ version... :-\ Flynn

                          J Offline
                          J Offline
                          Jane Williams
                          wrote on last edited by
                          #94

                          Exactly: and to write that (not just copy&paste it), you need to know what a namespace is, what a class is, and the meaning of "Public" and "Shared". All very simple when you already understand them, but a pretty steep learning curve when you're totally new to programming.

                          F 1 Reply Last reply
                          0
                          • J Jane Williams

                            Exactly: and to write that (not just copy&paste it), you need to know what a namespace is, what a class is, and the meaning of "Public" and "Shared". All very simple when you already understand them, but a pretty steep learning curve when you're totally new to programming.

                            F Offline
                            F Offline
                            Flynn Arrowstarr Regular Schmoe
                            wrote on last edited by
                            #95

                            When I wrote that code for a tutorial I was working on, I went through the application line by line and briefly explained what each section did, along with which section of the tutorial would cover more information. I figured rather than having a traditional "Hello World" application I would provide one that had rudimentary interactivity and introduce all of the basics in one application (variables, user input, output, namespaces and classes). Unfortunately, real life intervened before I could do much more with the tutorial than that. One of these days I would like to return to the tutorial and work more on it. I was enjoying it a lot. :-\ Flynn

                            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