• Post Reply Bookmark Topic Watch Topic
  • New Topic

I need some useful tips  RSS feed

 
Marvin Domingo
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm an all time PHP developer for more than 8 years. and after 13 days starting today, this time it's for real, I'll be starting in my next company as a java developer,
the boss there told me the technology they use is java, spring cloud,cassandra, and told me to study the mircoservices..

so right now, I'm still studying the fundamentals of java ( any particular areas in the fundamentals should I focus on heavily ? )
for the spring cloud, ( do I need to study how the spring framework work first after the java funddamentals before jumpting to spring cloud?, because they sound like two different beasts)
for the microservices ( any resources that you can share aside from telling me to google ? )
and for the cassandra , I think I have some ebooks that I've never read before, because I'm using oracle in current company
 
Jesper de Jong
Java Cowboy
Sheriff
Posts: 16028
87
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Cool, congratulations on the new job! And it sounds like you're going to be using some interesting new technologies.

But that is a LOT to learn, especially if you are new to Java! My advice is: Don't try to learn everything at once, because it will be completely overwhelming.

First make sure you have a good grasp of the basics of the Java programming language and platform. A good place to start for that are Oracle's Java Tutorials.

The Spring Framework is a popular but huge framework, which consists of many subprojects. Spring Cloud is one of the subprojects, which focuses on helping with programming microservices, integrating various products from other vendors (notably the Netflix open source tools for microservices) into the Spring Framework. Don't think you'll fully understand every part of the Spring Framework someday soon, because it's just too big.

Microservices is a new style of software architecture, mainly for cloud-based software systems. It is a very popular subject on software development conferences (at some conferences, almost every talk is about microservices). You can find lots of conference talks on YouTube about microservices.

Cassandra is a NoSQL database. It works completely different than a relational database, such as an Oracle database!

Good luck with all of this. Realistically, it will take you YEARS to really learn all this. If you've never seen these things, it's as if someone has asked you to build a Jumbo Jet when you've previously only worked on bicycles...
 
Campbell Ritchie
Marshal
Posts: 55793
164
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch and congratulations again

What sort of language is PHP? Is it an object language? Have you used any other object languages, e.g. Eiffel or C#? If yes, you will probably find understanding the object paradigm which Java® uses easier than if you have not used an object language before.
 
Marvin Domingo
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jesper de Jong wrote:Cool, congratulations on the new job! And it sounds like you're going to be using some interesting new technologies.

But that is a LOT to learn, especially if you are new to Java! My advice is: Don't try to learn everything at once, because it will be completely overwhelming.

First make sure you have a good grasp of the basics of the Java programming language and platform. A good place to start for that are Oracle's Java Tutorials.

The Spring Framework is a popular but huge framework, which consists of many subprojects. Spring Cloud is one of the subprojects, which focuses on helping with programming microservices, integrating various products from other vendors (notably the Netflix open source tools for microservices) into the Spring Framework. Don't think you'll fully understand every part of the Spring Framework someday soon, because it's just too big.

Microservices is a new style of software architecture, mainly for cloud-based software systems. It is a very popular subject on software development conferences (at some conferences, almost every talk is about microservices). You can find lots of conference talks on YouTube about microservices.

Cassandra is a NoSQL database. It works completely different than a relational database, such as an Oracle database!

Good luck with all of this. Realistically, it will take you YEARS to really learn all this. If you've never seen these things, it's as if someone has asked you to build a Jumbo Jet when you've previously only worked on bicycles...



Thank you for the advice Sir, especially the "make sure you have a good grasp of the basics of the Java programming language and platform." ..noted.


Campbell Ritchie wrote:Welcome to the Ranch and congratulations again

What sort of language is PHP? Is it an object language? Have you used any other object languages, e.g. Eiffel or C#? If yes, you will probably find understanding the object paradigm which Java® uses easier than if you have not used an object language before.


PHP is commonly used by most websites nowadays from small to large scale. it's a scripting language that can be used either in a structural or object oriented approach in a project. I've never used any other programming language before aside from PHP, I find it easy to understand
the object oriented conecpt in java, but the thing I'm currently having a bit of trouble while still studying the fundamentals is with the strict data type declaration of variables
 
Campbell Ritchie
Marshal
Posts: 55793
164
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
A lot of us find it is the object‑oriented paradigm that is the most difficult thing to learn when coming from a non‑object language. You will get used to strong (static) typing soon enough. Just beware of this sort of thing:-That is often correct code, because of inheritance: a Cat or a Dog IS‑AN Animal.
 
Marvin Domingo
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Campbell Ritchie wrote:A lot of us find it is the object‑oriented paradigm that is the most difficult thing to learn when coming from a non‑object language. You will get used to strong (static) typing soon enough. Just beware of this sort of thing:-That is often correct code, because of inheritance: a Cat or a Dog IS‑AN Animal.



yes thanks for pointing that out, I noticed this a few days ago while self studying. there are lots of classes in java, I was surprised including the classes itself are being used to declare what type of object a variable is like String variablename, not just just using the primitive data types such as byte,char,int,float,double
 
Liutauras Vilda
Marshal
Posts: 4670
320
BSD
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Write down on a piece of paper this url https://docs.oracle.com/javase/8/docs/api/ so you'd know where to look for existing classes, methods from the standard library. I'm having it opened 24/7.
 
Scott Shipp
Ranch Hand
Posts: 223
12
Eclipse IDE IntelliJ IDE Java Scala Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
My advice: Experience is the best teacher. Start going through the Oracle Java tutorial and write a lot of programs using what you learn. Throw them away whenever you are finished getting them to work, and write them again from scratch.

Realistically you only need to go through the trails in the "Trails Covering the Basics" section, e.g.:

Getting Started
Learning the Java Language
Essential Java Classes
Collections
Date-Time APIs
Deployment

After which you will want to start learning Spring, whatever test framework they're using, and other immediate practical considerations.
 
Campbell Ritchie
Marshal
Posts: 55793
164
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Marvin Domingo wrote:. . . not just just using the primitive data types such as byte,char,int,float,double
No, in an object language you want as many things as possible to be object. If you use primitives, the values are not objects.
But they can be replaced by objects by boxing conversion.
 
Scott Shipp
Ranch Hand
Posts: 223
12
Eclipse IDE IntelliJ IDE Java Scala Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Campbell Ritchie wrote:
Marvin Domingo wrote:. . . not just just using the primitive data types such as byte,char,int,float,double
No, in an object language you want as many things as possible to be object. If you use primitives, the values are not objects.
But they can be replaced by objects by boxing conversion.


Not to muddy the waters but that's not exactly true. You want the right things to be objects and the right things to be primitives. Objects have an additional runtime overhead and that's what motivates things like "Value Classes" in Scala, an attempt to have semantically-correct type-safety without the runtime overhead of objects.
 
Campbell Ritchie
Marshal
Posts: 55793
164
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Scott Shipp wrote:. . . "Value Classes" in Scala, an attempt to have semantically-correct type-safety without the runtime overhead of objects.
There is a project to introduce similar things into Java®, but that is probably a few years from implementation.
I have a disliking for primitives because they are not objects. If you try creating Streams from arrays of primitives, you will come to hate primitives too, but as you say, they make arithmetic much quicker. If you need arithmetic or array indices, then primitives is the way to go, but for everything else use objects. I notice OP suggests he sees Strings used everywhere. Many people believe the String class is overused like that, making something a String when a different class would be much more appropriate.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!