• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
TropicMonkey

Is it bad to use an IDE when you're just starting out with programming in Java?

20 posts in this topic

The book I am thinking about buying to learn how to program in Java advises the reader to avoid using any IDE such as NetBeans or Eclipse. Instead, it recommends the use of a simple code editor such as TextPad or Notepad++. It says IDEs, while they make programming easier and more efficient, don't allow the beginning programmer to learn as much. Do you agree with this? 

 

Book link:

 

http://www.barnesandnoble.com/w/ivor-hortons-beginning-java-ivor-horton/1102164532?ean=9780470404140

2

Share this post


Link to post
Share on other sites

I agree that an IDE can make things seem more complicated than they are/should be, but with the right guidance an IDE is fine.

If you take some time to read about the different parts of Eclipse or Netbeans, and how their UI's are laid out, you'll be fine, perhaps even better off than without using an IDE.

 

It won't be long before you'll encounter an error, or before you'll want to add a break to a line, enbaling you to step through every statement in your code - and that's much more complicated without an IDE, IMO.

 

The things you need to focus on from the beginning, regardless what IDE you'll be using, is (1) The code view (that main area that you can type into) like mainstream text editors, it allows a tab for every open source file.

(2) The project explorer (that bit showing your project, the contained packages and the source files as a tree structure)

(3) Basic project settings, where you can add some jars to extend your project with. This will be more important later on, but it's essential for setting up a project in the first go.

 

The rest will in my experience both as a TA and a developer come gradually.

 

Of course, for the very first steps it may be easier for some to go without an IDE, like Nercury says. Check Oracle's first lesson on the topic. But again, I wouldn't call it a gamebreaker if you start with an IDE.

2

Share this post


Link to post
Share on other sites

An IDE is not for learning stuff, it is to increase your efficiency once a text editor limit it. Getting into an IDE is not really trivial, especially eclipse etc. are not trivial at all. Therefor I would always sugguest to start with a simple text editor which supports syntax highlighting, much like Notepad++. Come on, it is just

 

javac test.java
java -cp . test

 

to compile and run a simple test java class.

 

Once you feel, that you have a good hold of the language and you think that a text editor is a clumpsy way to develop, you should consider using an IDE.

 

PS: this is java, not C++. Developing your first "Hello World" in java is really simple without using an IDE. An IDE is just a tool, which will not make a better developer out of you (thought a faster one).

Edited by Ashaman73
0

Share this post


Link to post
Share on other sites

I feel it is garbage. An IDE in modern programming is nearly as influential as
the language itself. Why spend so much time fighting your non-IDE? I find it hard to believe you learn better/faster with so much overhead.


You ever used Eclipse? Between learning Java and learning Eclipse... I think Java is the easier task.
2

Share this post


Link to post
Share on other sites

When I started Java learning I had to do my first 5 learning Programs without an IDE, just Notepad++ and Command Line.

After that I got Eclipse for SE developers and started using Eclipse.

 

I really think doing your first setps without IDE won't hurt you but getting better and understand whats going on in the background you will need a good IDE and a debugger.

0

Share this post


Link to post
Share on other sites

PS: this is java, not C++. Developing your first "Hello World" in java is really simple without using an IDE. An IDE is just a tool, which will not make a better developer out of you (thought a faster one).

While I agree with the middle sentence, I find the others curious.

I recommend people get started with C and C++ without an IDE. The compile/build process is really integral to how and why those languages do things in a certain way, and it's important to understand it piece by piece instead of just hoping for the right things to magically happen. With Java, you can start the same way and I guess that would give you a little bit of extra perspective, but not anything critical. Might as well start with the IDE.

And IDEs are particularly helpful with Java. It is a long-winded language with limited expressiveness and all the functionality is buried in gigantic libraries. IDE autocompletion and integrated help can help cut down time wasted browsing a reference, and leave more time for learning. Easy access to a visual debugger also smooths over a good amount of learning bumps, particularly if you are self-learning and have no one to help you with tricky bugs.
2

Share this post


Link to post
Share on other sites

If you don't use an IDE for Java programming you're not making use of one its most positive traits: Its very well documented.

 

In Eclipse, the distance between you and all of Java's standard libraries its literally just a shortcut, ctrl+spacebar. Hovering over any standard classes grants you access to all of its documentation. You get very nice highlights about what's wrong on your code, easy automatic imports, class outlines, refactoring tools, and a big, BIG etc.

 

You don't even need to learn all of the IDE to get going. Just use what you need and you'll be fine.

 

I mean, you could have Oracle's site open in a browser and looking for the doc there but really, its not necessary. Javadoc is nicely integrated in Eclipse, and you'll learn better from official docs (and the sources) rather than Googling around features that someone might or might not know exactly how they work.

2

Share this post


Link to post
Share on other sites

I feel it is garbage. An IDE in modern programming is nearly as influential as
the language itself. Why spend so much time fighting your non-IDE? I find it hard to believe you learn better/faster with so much overhead.


You ever used Eclipse? Between learning Java and learning Eclipse... I think Java is the easier task.

Eclipse isn't an IDE, it's an operating system. :P
0

Share this post


Link to post
Share on other sites

 

I feel it is garbage. An IDE in modern programming is nearly as influential as
the language itself. Why spend so much time fighting your non-IDE? I find it hard to believe you learn better/faster with so much overhead.


You ever used Eclipse? Between learning Java and learning Eclipse... I think Java is the easier task.

Eclipse isn't an IDE, it's an operating system. tongue.png

 

Eclipse is Emacs?!

0

Share this post


Link to post
Share on other sites

If all you do is write hello world in your text editor, ok you have memorized:

System.out.println("Hello World");

But for the rest of your life, eclipse will now be finishing your sentences, so maybe it's more important to learn the keyboard shortcuts for intellisense than to learn your APIs!

0

Share this post


Link to post
Share on other sites

When I started my degree I didnt use an IDE for the first year, it really helps you understand the finer details if you ask me.

 

And in response to everybody else’s advice basically saying use an IDE, because it helps you avoid fundamental mistakes. That’s the whole point of learning to make those mistakes; IDE baby sits you way to hard and actually has a negative effect on you as a beginner.

Edited by jellyfishchris
0

Share this post


Link to post
Share on other sites

Use an IDE.

 

Do not use eclipse. While it is the most versatile IDE, it's also very uncomfortable.

Use Netbeans or IntelliJ first.

Do not touch eclipse for Java unless you are developing for Android.

 

Your first steps in programming should not  be resolving class-paths & compiling.

Your first steps should be: Writing simple code and running it with the push of a button.

You do not even have to understand all the code you write.

System.out.println("") should be implemented and understood before you understand what a class is. (Although the word class will appear in your first program).

 

One of the nice things in programming is that you don't have to understand everything that is happening in order to do something useful & fun. You can always dive deeper later. Learning the fundamentals before the fun stuff is the worst mistake a beginner can make.

 

 

Java is high-level programming. Have some fun, then dive deeper for the fundamentals.

 

Your first goal is to make stuff happen (get motivation).

Only your second goal should be to make and fix mistakes. smile.png

Edited by SillyCow
0

Share this post


Link to post
Share on other sites

When I started my degree I didnt use an IDE for the first year, it really helps you understand the finer details if you ask me.
 
And in response to everybody else’s advice basically saying use an IDE, because it helps you avoid fundamental mistakes. That’s the whole point of learning to make those mistakes; IDE baby sits you way to hard and actually has a negative effect on you as a beginner.


I've seen this argument before - that using an IDE prevents you from learning the API, etc - and it's completely bogus. There's much more to an IDE than autocompletion: project management, integrated debugging, to name just two. Autocompletion is just icing on the cake and in any event you still need to know the first few letters of the method you wish to call.

Deliberately choosing a harder approach when an easier one exists (and just because it's harder, not necessarily better) does not make one a better programmer. In fact I'd be incluned to argue that it's the exact opposite of what programmers should be doing with their code, so why do it with their tools?
1

Share this post


Link to post
Share on other sites

I don't really understand people recommending not using an IDE. And I don't get what's complicated about Eclipse at all... I mean, really? We are doing such complicated software, and you find Eclipse difficult? That's beyond me. You don't really need that much out of it - plus it's the only Java IDE I know of that properly implements incremental build, which is a time-saver on non-trivial projects.

 

Java is one of the easiest languages, with very good books, very strong footing in academia, excellent IDEs and descent libraries. What you need is create new project -> edit -> run. It can't be simpler, honestly.

 

And writing Java code without IDE? For one of the most verbose languages? Seriously? That's probably the worst advice I've heard in a while...

1

Share this post


Link to post
Share on other sites
It's not that eclipse is complicated (though it is), it's that it was designed by Martians - nothing is at all intuitive about it (at least when I looked at it a few years back).
0

Share this post


Link to post
Share on other sites

On the one hand, learning while using an IDE is useful, as it will do a lot for you, and eventually, you're going to be using it a lot anyways.

 

On the other, when you're learning something new, having to learn to use some other potentially complex program at the same time, could be more confusing.

 

Another thing to keep in mind, is that the above mentioned book, and another with the same suggestion (Head First Java 2nd ed), and many other beginner books, deal with such simplified examples, that there is no real benefit to using an IDE.  The compilation errors are the same you'll see in an IDE, and line numbers and positions are often supplied, so finding the offending spot is still easy.

 

Lastly, learning without an IDE can give you a better idea of how things work...  In Java, there's not much to the command line (as someone pointed out earlier)... In C++, it can still be that easy, but as an anecdotal point, there are many senior Visual C++ developers that have no idea how to use a make file, or compile outside the IDE.

 

In short, learning to use the tools outside the IDE will, in the long term, help you become a better developer.

 

-Alamar

0

Share this post


Link to post
Share on other sites
I just joined rather then continue to lurk because of this topic...
While I will most certainly agree that it is extremely important to understand the process behind what you are doing line by line, eventually to the point where you can simply read code and follow the execution, I believe that one of the best ways to learn is through a debugger.

Basically, if I am teaching someone in any language, I will show them their normal "Hello World" program to make certain everything is configured properly, and then run through a little bit with the debugger.

Of course, when I was "learning" Java in college (already had self-taught most of what we learned), what was more important was the concepts behind it. We started in Eclipse, and had all of our exams with pen and paper.

WROTE ALL OF THE CODE FOR EXAMS BY HAND ON PAPER THROUGHOUT COLLEGE, AND USED IDE'S THE ENTIRE TIME (other than for Linux scripts later).

Sorry for all caps, but I figured that was the most important part of my speech. Basically, remember that the IDE is a tool, and it will serve you well. Depend upon it entirely, and you will be lost at a later date.

Eclipse is fairly easy to use, I don't know why people are saying otherwise. There is a big green circle with an arrow to launch your program, or you can right click the project in package explorer and run it, or debug it, from there as well.

The rest of it you learn as needed with the help of the internet or simply exploring to see what happens.

I really don't see how manually compiling really helps you learn more about the language in general, at least with simple beginner programs.

As you reach more complicated programs/languages, it can help a lot.

Also, when you get a bit farther along, never forget to look around a bit to see if what you want to make has already been done.

Serapth, I couldn't disagree with your comment more, Yrjö P. is right on the money.
1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0