SIGforum.com    Main Page  Hop To Forum Categories  The Lounge    Programmers: recommend a beginning Java package
Go
New
Find
Notify
Tools
Reply
  
Programmers: recommend a beginning Java package Login/Join 
Member
Picture of craigcpa
posted
Greetings. I had a Borland C++ beginning program from long, long ago (32 bit). I want to introduce my teenagers to Java and would like something simple (like the Borland) and free. Any suggestions?

Also, Python is one that plate, but for unstated reasons, please keep it Java.


==========================================
Just my 2¢
____________________________

Clowns to the left of me, Jokers to the right ♫♫♫
 
Posts: 7731 | Location: Raleighwood | Registered: June 27, 2006Reply With QuoteReport This Post
Nature does not hurry, yet everything is accomplished
posted Hide Post
Starting in Java is sort of both easy and hard at the same time. "All" you have to do is download and install a JDK and using any text editor you prefer you can start coding. Of course, the hard part is trying to figure out what to do next.

The JDK, or Java Development Kit, is freely available. I recommend that you download and install it and then install a good Java IDE, for example IntelliJ https://www.jetbrains.com/idea/

The JDK available from Oracle is the most well known but I would download a completely open source version from https://adoptopenjdk.net/

There are a lot of good Java videos on YouTube. I recommend the channels "thenewboston" and "java brains" though I am not sure if the latter has beginner courses. I know thenewboston does.
 
Posts: 4078 | Location: NC | Registered: December 20, 2004Reply With QuoteReport This Post
Member
posted Hide Post
You can download the free sololearn app on your android tablet to get basic instructions for programming. The app covers many languages including java and python.

NetBeans is a free ide that will put a full java (and C and python if you want) programming environment on your computer. It's a bit busy but it takes care of making sure all the needed parts are there. Scenebuilder is a great, free piece of software that helps with gui interface development for java. It is drag and drop and can be launched from within NetBeans. It works with javafx commands and xml formats.

Winpython and Anaconda are decent free, python ide's. Anaconda comes with qtcreator and works similar to scenebuilder by providing a drag n drop gui builder to attach code to. Win python is more of a scientific python environment for major math/simulation programs. It uses the spyder3 die mostly but includes lots of math plugins like numby, matplotlib, and others I can't recall right now.

There are tons of free plugins for most programming languages these days. The trick is to only #include the ones you really need and that provide the best functionality to accomplish what you want.

Ken
 
Posts: 1049 | Location: Oklahoma | Registered: December 28, 2010Reply With QuoteReport This Post
Member
Picture of maladat
posted Hide Post
Java programs run on the "Java Virtual Machine," which is essentially an idealized, standardized, virtual computer. The JVM has to be built for whatever type of computer hardware you have to run it on, but in theory, a Java program will run the same way on any JVM on any type of computer hardware.

Despite running on a virtual machine rather than directly on the hardware like C++ programs, Java programs must be compiled before being run, just like C++. The Java compiler and standard libraries are included in the Java Development Kit (JDK), mentioned by cyberiad - but that's pretty much ALL that's in the JDK, it doesn't include any kind of editor or IDE.

You can write Java programs in any text editor, but a good IDE provides a lot of useful features like underlining syntax errors and autocompleting function and variable names. I've tried most of the Java IDEs that are available and find IntelliJ, also mentioned by cyberiad, to be the best by a WIDE margin. IntelliJ Community Edition is completely free for non-commercial use.

IntelliJ is a serious, professional IDE intended for use on huge projects, and while you can ignore most of that stuff pretty easily, it is a complex program. If the learning curve with IntelliJ is too steep, BlueJ and DrJava are reasonable, very beginner-oriented IDEs with limited feature sets and simple interfaces.
 
Posts: 6319 | Location: CA | Registered: January 24, 2011Reply With QuoteReport This Post
W07VH5
Picture of mark123
posted Hide Post
I believe you can use Microsoft Visual Studio. It really is mature and compete. It's a pleasure to use. I also believe the community version is free.

Don't quote me on that.
 
Posts: 45369 | Location: Pennsyltucky | Registered: December 05, 2001Reply With QuoteReport This Post
Member
posted Hide Post
quote:
Originally posted by mark123:
I believe you can use Microsoft Visual Studio. It really is mature and compete. It's a pleasure to use. I also believe the community version is free.

Don't quote me on that.


That is true... It will compile Java too. First you need to get Java installed on your machine.

Download Here

You may want to think about C# as a starter language unless you want to compile for cross platform. C# and Java both have the c and c++ type coding structures. There are cross platform compilers for c# using .net core but it's a bit tricky for a beginner. Either way you decide, VS will do the job for you and the price is definitely right.
 
Posts: 7546 | Registered: October 31, 2008Reply With QuoteReport This Post
Serenity now!
Picture of 4x5
posted Hide Post
quote:
Originally posted by mark123:
I believe you can use Microsoft Visual Studio. It really is mature and compete. It's a pleasure to use. I also believe the community version is free.

Don't quote me on that.

MS VisualStudio 2017 Community Edition is indeed free, and it is the Cadillac of development environments. But, I'v never used it for Java. I much prefer C#



Ladies and gentlemen, take my advice - pull down your pants and slide on the ice.
ʘ ͜ʖ ʘ
 
Posts: 4929 | Location: Highland, UT | Registered: September 14, 2006Reply With QuoteReport This Post
Aller Anfang ist schwer
Picture of Tavman
posted Hide Post
Most of us at work use VisualStudio Code.
 
Posts: 1700 | Location: Fayetteville, AR | Registered: May 23, 2005Reply With QuoteReport This Post
Member
posted Hide Post
quote:
Originally posted by Tavman:
Most of us at work use VisualStudio Code.


Are you coding Java or JavaScript? VS Code is free and every front end developer (JavaScript) I know has switched to it. A great product, and again the price is 100% right.
 
Posts: 7546 | Registered: October 31, 2008Reply With QuoteReport This Post
Aller Anfang ist schwer
Picture of Tavman
posted Hide Post
quote:
Originally posted by Bytes:
quote:
Originally posted by Tavman:
Most of us at work use VisualStudio Code.


Are you coding Java or JavaScript? VS Code is free and every front end developer (JavaScript) I know has switched to it. A great product, and again the price is 100% right.


I deal mostly in C++ and Python. The next dev group over does Java exclusively.
 
Posts: 1700 | Location: Fayetteville, AR | Registered: May 23, 2005Reply With QuoteReport This Post
Member
Picture of craigcpa
posted Hide Post
Thanks all, I'll check into all mentioned.


==========================================
Just my 2¢
____________________________

Clowns to the left of me, Jokers to the right ♫♫♫
 
Posts: 7731 | Location: Raleighwood | Registered: June 27, 2006Reply With QuoteReport This Post
Member
Picture of maladat
posted Hide Post
Also, I would ask - why do you have your heart set on your kids starting with Java?

I am a PhD student in Computer Science and part of my "job" at school is helping undergrads get through the early introductory programming courses.

A couple of decades ago, college CS curricula almost always started with C/C++ or Scheme.

However, it has become pretty widely accepted in academic CS circles that the most effective approach to teaching programming is to start students off with a simple language with minimal syntax and minimal required code that doesn't "do stuff." Python is almost universally chosen for this. This lets students learn the basics concepts of programming without having to learn a lot of syntax or technical details that they don't yet have the context to understand.

Then, later in the curriculum, more complex languages are introduced when they are more appropriate for the topic of the course.

Languages are usually chosen based both on suitability for the topic (useful for teaching) and how common they are in industry (so students get programming experience that is useful when they go looking for jobs).

Something like an object oriented programming or software engineering course would almost invariably be taught in Java or C#, because they are good languages for teaching the subjects and are widely used for that purpose in industry. Python would not be a good choice for those courses.

An operating systems or networking protocols course would almost always be taught in C or C++, because you need low-level hardware access to actually DO that stuff - and almost all of it is done in C or C++ in industry. Java or C# would be a poor choice for that sort of course and Python would just be stupid.

Of course, Python doesn't actually disappear after an introductory course or two, either. When it makes sense, it is used. Data science, machine learning, and artificial intelligence courses are often taught in Python because there are powerful libraries for those subjects available for Python and Python has the majority of the market share in industry.

As an example, MIT has a combined electrical engineering and CS department, and the MIT EECS department makes many of its courses freely available online (recorded lectures, notes, and assignments). You can see the complete list here:

https://ocw.mit.edu/courses/el...nd-computer-science/

They start with Python and introduce Java and C/C++ (among others) later.

Schools try to minimize the number of languages used in order to minimize confusion and extra work, but sometimes there just isn't much choice. E.g., many schools offer courses on a topic called "formal verification" - writing computer programs that include mathematical proofs about properties of the behavior of the programs. That just isn't something you can really do in Python, Java, C#, or C/C++. The courses generally use either Coq or Agda, because they're the only common languages used to do it.

This message has been edited. Last edited by: maladat,
 
Posts: 6319 | Location: CA | Registered: January 24, 2011Reply With QuoteReport This Post
W07VH5
Picture of mark123
posted Hide Post
quote:
Originally posted by 4x5:
... I much prefer C#
Absolutely. C# is simply my favorite programming language. It's been 11 years so I'm sure much has changed but it's surely worth looking into. For web dev ASP.NET MVC using C# is the cleanest backend framework I've ever used. Linq or whatever is transformed into during my permanent hiatus (Entity Framework?) is alone worth the price of admission.
 
Posts: 45369 | Location: Pennsyltucky | Registered: December 05, 2001Reply With QuoteReport This Post
Member
Picture of fizteach
posted Hide Post
I use CodeHS for my students. Check it out.



Get over it!!
 
Posts: 669 | Location: Campbell, TX | Registered: September 24, 2006Reply With QuoteReport This Post
I have lived the
greatest adventure
Picture of AUTiger89
posted Hide Post
And for training, you can find classes on Udemy (pay per class) or Pluralsight (subscription-based).

Pluralsight is an amazing resource for people in the IT field.




Phone's ringing, Dude.
 
Posts: 6038 | Location: Upstate SC | Registered: April 06, 2011Reply With QuoteReport This Post
Member
posted Hide Post
quote:
Originally posted by AUTiger89:
And for training, you can find classes on Udemy (pay per class) or Pluralsight (subscription-based).

Pluralsight is an amazing resource for people in the IT field.


^^^^^ 100% Agree ^^^^^^

You can't go wrong with either one. I prefer Udemy for my developers because it's a bit more targeted and cheap.
 
Posts: 7546 | Registered: October 31, 2008Reply With QuoteReport This Post
Member
posted Hide Post
 
Posts: 2539 | Location: KY | Registered: October 20, 2001Reply With QuoteReport This Post
Down the Rabbit Hole
Picture of Jupiter
posted Hide Post
The Company I work for renews my MSDN Subscriptions, now called Visual Studio Subscriptions every 3 years.

VS is a mature platform. I use it for both Application and Web development.

I love how easy it is to automate Microsoft office applications like Excel, Word, etc..
End Users love being able to export Web data to Excel and word docs.


Diligentia, Vis, Celeritas

"People sleep peaceably in their beds at night only because rough men stand ready to do violence on their behalf."
-- George Orwell

 
Posts: 4832 | Location: North Mississippi | Registered: August 09, 2002Reply With QuoteReport This Post
  Powered by Social Strata  
 

SIGforum.com    Main Page  Hop To Forum Categories  The Lounge    Programmers: recommend a beginning Java package

© SIGforum 2024