Win a copy of Beginning Java 17 Fundamentals: Object-Oriented Programming in Java 17 this week in the Java in General forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Ron McLeod
  • Liutauras Vilda
  • Jeanne Boyarsky
Sheriffs:
  • Junilu Lacar
  • Rob Spoor
  • Paul Clapham
Saloon Keepers:
  • Tim Holloway
  • Tim Moores
  • Jesse Silverman
  • Stephan van Hulst
  • Carey Brown
Bartenders:
  • Al Hobbs
  • Piet Souris
  • Frits Walraven

Get Programming with Java: Java as the first programming language

 
Greenhorn
Posts: 28
IntelliJ IDE Ruby Ubuntu
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Why choose java to start programming? There are  plenty of languages which are  easier to learn (eg python)
 
Saloon Keeper
Posts: 13505
305
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Why do you find Python easier?
 
Sheriff
Posts: 16767
281
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Many people, like students, don't have any choice. Or their choices could be limited. Or it might be that you think that there are more/better opportunities to land a job if you know Java. There are many valid reasons for choosing to learn one language over another.

And I don't necessarily agree that Python is easier than Java as a first programming language. I personally don't like some of the object-oriented constructs that Python has. In particular, the fact that you have to explicitly pass in a reference to self as the first parameter to a method. When I first saw that, I was like
 
Author
Posts: 18
10
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Timur,
Thanks for your question. It is very interesting to read the replies.  

I'd like to share my experience and philosophy about learning how to program.  As I stated in my Welcome reply message, my formal training was in COBOL and CICS as well as Fortran, Pascal and Assembler in college.  Since then I have taught myself many of the new programming languages such as C++, C#, XNA, HTML, Java, etc.  I don't claim to be an expert in each one, but I truly believe that once you understand how to logically break down a problem, you can apply the appropriate syntax from a programming language to get the computer to solve your problem.  

I would like to note that some languages are better suited to certain applications. R is often used for data science applications, HTML is used for creating web pages.  

Although Java is a strictly typed language which makes it a little more involved when coding because you need to pay attention to semicolons, it is a widely used language in industry and it is the choice of the College Board for high school Advanced Placement courses probably due to its popularity.  It is a great language to learn about object oriented programming.  

In a nutshell, I don't find it more difficult than Python, probably because I learned it prior to learning Python.  Python also has rules, such as indentation, that can be difficult for programmers who started with a language like Java.  Overall, I think it is good to learn several languages and then choose the appropriate language for each application.  I love learning new languages, hopefully you will too.  
 
Junilu Lacar
Sheriff
Posts: 16767
281
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
So, a couple of things in response to that, Peggy:

1. Not sure what you mean by "strictly typed language" and how that's related to paying attention to semicolons. The use of semicolons as a statement separator is related to syntax and doesn't really have anything to do with the type system. Perhaps you were thinking of "strongly/statically typed" (e.g. Java, Pascal, C) versus "dynamically typed" (e.g. Python)? But again, that has nothing to do with semicolons.

2. I actually like Python's strict indentation rules. One of my first programming languages was Pascal (I learned BASIC at the same time). My teacher emphasized the importance of proper indentation and how it was essential to writing readable code. So many students who post on these forums are missing this and I think it is a disservice to them to not emphasize how important indentation is, especially when using a language like Java where the compiler leaves it to you. I like that Python forces students to develop that discipline.

To that last point, I did mention in another thread that the book's code examples available for download from Manning.com could use a lot of care and feeding, particularly in the area of proper indentation. I hope that gets fixed before it gets released to production. (My offer to help you with that stands)

 
Greenhorn
Posts: 12
  • Likes 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I think picking a first language is relative to what you goal use is. You wouldn't learn R if you are looking to make video games. Java has a broad appeal to it and is applicable in a lot of places.

When I was in college in the early 2000's the language offering at my school was all C++ based. It was only in my last semester that they started to add Java courses. When I was looking for a job after graduating, everything was looking for Java and I had to learn it on the side to try to stay relevant. I didn't feel it was that difficult to apply what I already knew about C++ to Java

I think some languages like Java and C++ are similar and when you learn one you can kind of use that knowledge in the other. But some languages are a bit different and don't transfer over well (like Python). It is just like spoken languages where based on what you know, one language might be easier to learn than another because its structure is similar. As an English speaker, you will most likely have an easier time learning French or Spanish than Chinese or Japanese. Those languages are similar in structure and therefor you can apply what you already know to help you understand it faster than if you were learning something with a different structure.
 
Peggy Fisher
Author
Posts: 18
10
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Peggy Fisher wrote:
Correction

Java is a strictly typed language which makes it a little more involved when coding and defining variables.  It also uses semicolons to indicate the end of a statement.  I usually try to get my students to think of the language syntax as the grammar for the language.  In English, we have a period at the end of each sentence, in Java we use the semicolon to end a sentence.  Java is widely used language in industry and it is the choice of the College Board for high school Advanced Placement courses probably due to its popularity.  It is a great language to learn about object oriented programming.  

In a nutshell, I don't find it more difficult than Python, probably because I learned it prior to learning Python.  Python also has rules, such as indentation, that can be difficult for programmers who started with a language like Java.  Overall, I think it is good to learn several languages and then choose the appropriate language for each application.  I love learning new languages, hopefully you will too.  

 
Junilu Lacar
Sheriff
Posts: 16767
281
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for your clarification, Peggy.
 
Marshal
Posts: 74774
336
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Junilu Lacar wrote:. . . the book's code examples . . . could use a lot of care and feeding . . .

That is the whole idea of a MEAP bookk; it allows readers to suggest such enhancements.
 
WHAT is your favorite color? Blue, no yellow, ahhhhhhh! Tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
reply
    Bookmark Topic Watch Topic
  • New Topic