1 2 Previous Next 18 Replies Latest reply: Nov 16, 2010 3:58 AM by jwenting Go to original post RSS
      • 15. Re: Does using an IDE limit the learning experience?
        814114
        jwenting wrote:
        isocdev_mb wrote:
        Hearing of BlueJ only a few weeks ago, I'd say having an entry-level IDE with less knobs and dials sounds like an even better idea. although I did not verify (by trying it out myself) the truth in rumors that BlueJ alters the code underneath and hides the tricky stuff to an extend one does not learn the Java language anymore.
        See above. BlueJ does this to an even greater extend than other IDEs.
        To avoid confusion: BlueJ absolutely does not "alter the code underneath". The only code submitted to the compiler is that which students or their teachers have put in the project, BlueJ adds no libraries of its own, and the compiler used is the standard Sun/Oracle or OpenJDK one.

        What BlueJ does do is enable you to invoke methods directly, so that you can avoid having to explain the signature of the main method until students are ready for it. And this is the key to the more general argument being made here. It's not a question of whether students need to learn about command line, or emacs, or Eclipse, but when they should learn it.

        If you want to teach students how to program, using Java, then don't start by giving them a crash course in using the Windows Command Prompt, setting environment variables and interpreting the cryptic error messages they get when they get it wrong.

        It's not about learning to drive in a stick-shift versus an automatic, it's about learning to drive by (a) getting into a car versus (b) learning to change the oil. Yes, it's useful to know (maybe) but it's not your first priority.

        Ian.
        BlueJ developer.
        • 16. Re: Does using an IDE limit the learning experience?
          jwenting
          ianutting wrote:
          jwenting wrote:
          isocdev_mb wrote:
          Hearing of BlueJ only a few weeks ago, I'd say having an entry-level IDE with less knobs and dials sounds like an even better idea. although I did not verify (by trying it out myself) the truth in rumors that BlueJ alters the code underneath and hides the tricky stuff to an extend one does not learn the Java language anymore.
          See above. BlueJ does this to an even greater extend than other IDEs.
          To avoid confusion: BlueJ absolutely does not "alter the code underneath". The only code submitted to the compiler is that which students or their teachers have put in the project, BlueJ adds no libraries of its own, and the compiler used is the standard Sun/Oracle or OpenJDK one.
          Wrong. It writes part of your code for you, far more than any other IDE.
          What BlueJ does do is enable you to invoke methods directly, so that you can avoid having to explain the signature of the main method until students are ready for it. And this is the key to the more general argument being made here. It's not a question of whether students need to learn about command line, or emacs, or Eclipse, but when they should learn it.
          Which contradicts your claim that it doesn't hide stuff from you and doesn't write code for you.
          If you want to teach students how to program, using Java, then don't start by giving them a crash course in using the Windows Command Prompt, setting environment variables and interpreting the cryptic error messages they get when they get it wrong.
          In fact that's exactly what you should do. Interpreting error messages and knowing how to use a computer at the basic level are fundamental to the work of a programmer.
          It's not about learning to drive in a stick-shift versus an automatic, it's about learning to drive by (a) getting into a car versus (b) learning to change the oil. Yes, it's useful to know (maybe) but it's not your first priority.
          Wrong. Without knowing how to use your computer beyond pushing buttons you can never know how to program it properly.
          And that means you'll never be a programmer, you'll be a button pusher.

          BlueJ (and tools like it) causes many unqualified people to think they know how to program Java, which leads to countless questions by "professionals" who don't know what a classpath is, what a stacktrace is or how to read it, etc. etc.
          They're the cesspool of the profession, causing a lot of work for true professionals to clean up the messes they leave behind.
          • 17. Re: Does using an IDE limit the learning experience?
            791266
            jwenting wrote:
            Wrong. Without knowing how to use your computer beyond pushing buttons you can never know how to program it properly.
            And that means you'll never be a programmer, you'll be a button pusher.
            I would in that case argue that you never should take a programming class before you have completed classes in operating system theory.
            BlueJ (and tools like it) causes many unqualified people to think they know how to program Java, which leads to countless questions by "professionals" who don't know what a classpath is, what a stacktrace is or how to read it, etc. etc.
            They're the cesspool of the profession, causing a lot of work for true professionals to clean up the messes they leave behind.
            The problem in that case isn't that they have used an IDE, the problem is that their teacher has done a bad job. He should inform them about how to start, build and deploy before the class is over. If he does that at first, or at the end doesn't matter. He should also inform them that they are far away from being professionals, and he should inform them about where to go next. E.g. taking classes in algorithms and data structures.
            • 18. Re: Does using an IDE limit the learning experience?
              jwenting
              Kaj wrote:
              jwenting wrote:
              Wrong. Without knowing how to use your computer beyond pushing buttons you can never know how to program it properly.
              And that means you'll never be a programmer, you'll be a button pusher.
              I would in that case argue that you never should take a programming class before you have completed classes in operating system theory.
              Doesn't have to go that far. But if you don't know the difference between RAM and ROM, having a 100GB harddisk or 1GB RAM (yes, I've heard people, including those calling themselves programmers, saying "but I've 50GB memory" when an application fails because of insufficient RAM on their machines with 256MB RAM), you've no place trying to write software.
              And knowing how to control that operating system from the command prompt, how to start applications, etc. is part of that.
              BlueJ (and tools like it) causes many unqualified people to think they know how to program Java, which leads to countless questions by "professionals" who don't know what a classpath is, what a stacktrace is or how to read it, etc. etc.
              They're the cesspool of the profession, causing a lot of work for true professionals to clean up the messes they leave behind.
              The problem in that case isn't that they have used an IDE, the problem is that their teacher has done a bad job. He should inform them about how to start, build and deploy before the class is over. If he does that at first, or at the end doesn't matter. He should also inform them that they are far away from being professionals, and he should inform them about where to go next. E.g. taking classes in algorithms and data structures.
              You forget that the majority are at least in large part self-taught.
              They may have a book to go on, but ever more often all they have is some forums like this one and a few website tutorials from roseindia or about.com.
              1 2 Previous Next