Java vs. Python - which one is easier for beginners?

ViamaneViamane Member Posts: 1 ■■□□□□□□□□
I'm getting a programming assignment at work soon that will necessitate my learning either Java or Python - I have the flexibility to choose which language I'd like to use. I have no experience with "real" programming - all of the programming I've done thus far has been in VBA, SQL, SAS, and R. I'd obviously like to get up to speed as quickly as possible, but I have no intention in becoming an expert. I just need to learn enough to get by. Which one do you recommend I use - what's easier for a total beginner to learn? How much time should I allocate to teaching myself the fundamentals?

Comments

  • SteveLavoieSteveLavoie Member Posts: 871 ■■■■■■■■□□
    Python is much easier to learn than Java. It is hard to tell how much time you need, but if you understand the basic of programming (if, loops... etc..) than 2-3 days can be enough to get by.  
  • Hawk321Hawk321 CCNA R+S, CCNA CyberOPS, LPIC-1, LPIC-2, UBRSS + UBRSA, Proxmox AdvancedAdmin+some other small certs Member Posts: 97 ■■■□□□□□□□
    None

    There are 3 different aspects for both languages to consider (in a tiny nutshell):

    Python:
    • Not so stringent syntax, but still heavy
    • Scripting is often used
    • fast in terms of usage
    • Usable for System-Tasks AND web Guis
    Java:
    • Stringent syntax
    • needs a vm which is significant slower
    • potential license issues depending on what you use in a pro environment
    • PITA for System-Task
    • Used for backends which fire up complex business applications
    • Standard for App-Servers like Tomcat or Wildfly
    • GUI's are old, yes Swing and FX do work great but as far as I know, there are not interfaces to implement them in a browser
      So you have to use Vaadin or learn HTML, CSS + (whatever)JS to get a Browser GUI which can intercept data to pipe them through the Java Backend
    Programming needs time...a lot of time. To understand the MVC Modell, OOP, Inheritance, Interfaces etc. will cost you years. I did 2 Java courses (java 1 + 2) at college and those are not enough to be really productive. Typical you start which with some semesters and keep focusing on coding after. My 2 java books I used were Java Core 1+2 (~ 1600 pages). Than all those frameworks that come in, plus deep dive SQL, GIT and Code Quality solutions that need to be considered.
    Python is not a beginner language in terms of complexity, it is simply a language that many beginner choose (or in other words, the university forces them to learn it). It runs almost everywhere and has a good documentation. There is a O'Reilly Book "Learning Python" which absolutely begins there where java 1+2 ended. Means, it requires the knowledge about collections, threads, OOP etc.

    Perhaps you tell us, what your goal is and what real world scenarios you will reflect in code.
    But one thing is for sure... learning coding in a couple of days or weeks is pure nonsense.

    Degree in
    computer science, focus on IT-Security.
    CCNA R+S and CCNA CyberOPS
    LPIC-1,LPIC-2,LPIC-3: Security
    Ubiquiti: UBRSS+UBRSA
    some other certs...


  • DFTK13DFTK13 Member Posts: 176 ■■■■□□□□□□
    Your question is a bit too broad to be asking and there’s not really enough information to give you a definite answer. We don’t know the depth of this programming assignment, what they’re asking for. Hawk321 hit it on the head, it takes years to really learn programming, I’ve been coding in React/NodeJs for the past couple years and I also have done several python and Java projects and I can tell you with 100% certainty that I still have a crap ton of stuff that I need to learn. 

    But to answer your question, python is slightly easier to read and conceptualize for me. But really, what you need to focus on is algorithm development and planning your code if you are going to be doing serious programming. That was my mistake going into it the first place, I focused so much on syntax and the features of the language itself rather than working on my critical thinking and how I was going to plan the program out. 
    Certs: CCNA(200-301), Network+, A+, LPI Linux Essentials
    Goals: CCNP Enterprise(ENCOR + ENARSI), AWS CSA - Associate, Azure AZ-104, Become better at python, learn docker and kubernetes

    Degree: A.S. Network Administration
    Pursuing: B.S. in I.T. Web and Mobile Development Concentration
  • MeherReddyMeherReddy Member Posts: 1 ■□□□□□□□□□
    simply to say it just depends
Sign In or Register to comment.