Why are Companies Migrating from Java to Go?

  Рет қаралды 32,972

Golang Dojo

Golang Dojo

Күн бұрын

Why are Companies Migrating from Java to Go?
Today we will talk about how Go is where the future is headed even though Java isn't going anything. Enjoy!
--
Golang Dojo is all about becoming Golang Ninjas together. You can expect all kinds of Golang tutorials, news, tips & tricks, and my daily struggles as a Golang developer. Make sure to subscribe if you look forward to such content!
Get Your Golang Cheat Sheet! - golangdojo.com/cheatsheet
Git repos & notes - golangdojo.com/resources
Golang Basics - • Golang Basics - Instal...
Golang Informative - • How much do Golang dev...
--
Timestamps
0:00 Caveat
1:04 Reason #1
3:00 Reason #2
6:10 Reason #3
7:13 Reason #4
9:03 Pitfall #1
10:26 Pitfall #2
11:06 Conclusion
--
#golang #goprogramming #golangdojo

Пікірлер: 136
@GolangDojo
@GolangDojo Жыл бұрын
Get your *FREE Golang Cheat Sheet* - golangdojo.com/cheatsheet
@pompiuses
@pompiuses Жыл бұрын
I like Go, but I see too much hate on Java these days. Java is not the bloated beast it was 10 years ago. These days I can boot a web service with a few lines of code. Later versions of the language also lets you write very compact code. With the addition of virtual threads in Java 19 it will also scale the same way Go does. I feel Java gets too much negativity due to cultural baggage, not because it's a bad language or plattform.
@johnyepthomi892
@johnyepthomi892 Жыл бұрын
But its tainted by Oracle
@ea_naseer
@ea_naseer Жыл бұрын
@@johnyepthomi892 Go is tainted by Google. Typescript is tainted by Microsoft...
@dyto2287
@dyto2287 Жыл бұрын
@@johnyepthomi892 ​ Had people from Oracle visit our company few years ago. They wanted to sell our product on their Oracle Cloud marketplace and also tried to convince us that their Oracle DB is better than Postgres that we were using.🤣We literally laughed at their face.
@ruyvieira104
@ruyvieira104 Жыл бұрын
A few lines of code and a couple hundred megabytes of runtime environment
@lazyh0rse
@lazyh0rse Жыл бұрын
tfw open the task manager and see how bloated jvm really is, spoiler alert, it's even more bloated than a web browser literally. It's only a personal server? how is it taking so much memory ? because it's java 🤪🤪
@akin242002
@akin242002 Жыл бұрын
I appreciate your devotion to Go! Go has been a huge success with American Express and hopefully other major companies come along.
@gaetano222
@gaetano222 Жыл бұрын
Great stuff, thank you!
@feliper4041
@feliper4041 Жыл бұрын
Are we going to ignore all that smoke/steam going on in the back?
@justinsmith3981
@justinsmith3981 7 ай бұрын
Go doesn't need a dependency injection framework because it doesn't have java beans. You can just use plain old construction injection.
@tongobong1
@tongobong1 3 ай бұрын
But old construction injection is hard when you have many objects that depend on many other objects because you must be careful to instantiate the objects in the right order...
@fieldmojo5304
@fieldmojo5304 2 ай бұрын
It's not hard, you just type your params and your ide won't let you fail. And that's true for any language.
@tongobong1
@tongobong1 2 ай бұрын
@@fieldmojo5304 you must be very careful to create the right constructor and use just the right one and you must be careful not to send null pointers... With dependency injection framework it is so easy to make sure you always have the right objects ready to serve the client objects and at the right moment.
@dandogamer
@dandogamer Жыл бұрын
I've been using go for 4 years and never felt the need to use a dependency injection framework
@krige
@krige Жыл бұрын
How do you structure and test your code without dependency injection?
@heroChaddi
@heroChaddi 5 ай бұрын
​@@krigeDI using construction bruh!! Why the hell u need a framework for DI????
@bionic_batman
@bionic_batman Ай бұрын
true, just manually wire everything together in the main.go Imo it is much easier to debug and navigate than placing some magic annotations all over the place
@criticforgood
@criticforgood Жыл бұрын
Thanks. I’m a C dev who’s confused to choose between Go and Java to pivot my career towards web. This video helps.
@tshwarelolebeko4223
@tshwarelolebeko4223 Жыл бұрын
@akashic seer Don't be that angry and come to rust
@tshwarelolebeko4223
@tshwarelolebeko4223 Жыл бұрын
@akashic seer And you have got rust for that, as long as you have rust installed, after compiling what else will you need?
@Mustafa-099
@Mustafa-099 Жыл бұрын
@akashic seer What language should I learn if I am at the start of my career and interested in working as a backend developer? I know C, a little of C++, python and basics of Java and seeing the hype around Go I was thinking to learn it but now I am really confused
@Mustafa-099
@Mustafa-099 Жыл бұрын
@akashic seer I see, I'll do that thank you so much for the insight :)
@KManAbout
@KManAbout Жыл бұрын
​@akashic seer Because c and cpp are terrible languages.
@johnboy14
@johnboy14 7 ай бұрын
Im not sure who hes worked for but every Java project uses Maven in my experience or at most Gradle. There is no proliferation of dependency management tools in the Java ecosystem.
@albtein
@albtein 5 ай бұрын
Go is in the same Java stage in 2010. Probably in the next years, Go will have very popular frameworks, libraries, etc. They'll be industry standard and you'll be forced to learn them. In this moment, Go will be so boring as Java. Java standardization brought a lot of benefits for the development teams, since we don't have to take hard decisions like C or C++. Go is very lightweight and this can help companies to save money in a Cloud environment, since it doesn't require so much computation and a huge runtime.
@gato-rs
@gato-rs 5 ай бұрын
It's not about java being boring, but it being a crap. Other even older languages aren't that hated as java because they're not THAT bad.
@lubeckable
@lubeckable Жыл бұрын
bro are you still using java in your job?
@kqvanity
@kqvanity Күн бұрын
It would be much great if you could accompany some of those points with benchmarks
@fischi9129
@fischi9129 Жыл бұрын
NGL, a lot of new tools doesn't sound that appealing. Normally if you want a scalable product, you also want a stable, battletested, product. So having some older but reliable tools sounds better. (Ofc, not 20 years old :) )
@TheSiddhaartha
@TheSiddhaartha Жыл бұрын
Can you please suggest some popular and fast Go framework for API development? Also which ORM shall I use? Any sample applications which I can look at? Thanks!
@johnsonkengne6229
@johnsonkengne6229 Жыл бұрын
I personally use pocketbase for my startup. But if you are looking for extreme performance and ease of use, you should go for gofiber
@banditosdoritos
@banditosdoritos Жыл бұрын
API's don't really require a framework at all, but if you feel inclined to use something, Fiber is good (though it's not compatible with net/http), so is Echo (same incompatibility as Fiber) or Chi for routing. GORM is a nice ORM that comes with a lot of useful methods.
@NotMIFood
@NotMIFood Жыл бұрын
The Go standard library has great general purpose library for building web services called "net/http". It is best to learn this first and then look at other frameworks and packages. Most other frameworks and packages have a specific focus or purpose. It is best to start with built-in library and then add things depending on what you need/want. For example the Fiber framework uses a modified router (fasthttp) to be much faster than the built-in net/http. The tradeof is that it does not implement HTTP2 and uses custom (and smaller) structures for the http requests. So it is faster for small/medium requests but cannot do other things and does not integrate well with other tools because of the custom structs. Also be aware that in Go there are not just big frameworks that do everything. Since you can do everything with just the standard net/http, there are a lot of packages that just do 1 specific thing. For example just a router package, or just a middleware package, ... You can always combine multiple packages depending on your needs. Once you know the standard net/http you can look at other packages/frameworks. Some interesting ones are: - Gin - Beego - Echo - Fiber - Chi - Buffalo
@anxaje
@anxaje Жыл бұрын
@@NotMIFood thank you
@CheefCoach
@CheefCoach 9 ай бұрын
I like Gin-gonic.
@nyahhbinghi
@nyahhbinghi 5 ай бұрын
Java is a good language with a bad (outdated) concurrency model. If Java had something like async/await (multiplexed onto a threadpool), I would use it, but the problem is that any library can spawn a thread and nothing can be strictly enforced
@lmaoded7505
@lmaoded7505 19 күн бұрын
Executor framework?
@kidamanecer2144
@kidamanecer2144 Жыл бұрын
gorilla mux just died, please don't recommend it anymore
@dyto2287
@dyto2287 Жыл бұрын
True... Time to replace it with chi or some other minimal library.
@dandogamer
@dandogamer Жыл бұрын
@@hermes6910 Just no longer being maintained so it's not getting any new features nor security updates
@Regnum0nline
@Regnum0nline Жыл бұрын
I like echo
@StEvUgnIn
@StEvUgnIn Жыл бұрын
Let’s drink Gin to it 🥃
@metaltyphoon
@metaltyphoon Жыл бұрын
This is the problem with not having a first party support for basic stuff, like websockets. Compare this to ASP(c#) you will never see Microsoft doing this to it.
@ChristopherVanDerWesthuizen
@ChristopherVanDerWesthuizen Жыл бұрын
Dependency injection: good! Dependency injection frameworks: bad! Yeah, it's not a bug that Go doesn't have a sanctioned framework.
@leonardeuler7988
@leonardeuler7988 2 ай бұрын
Simplicity and Performance are interested point to migrate to golang.
@always-ask-why
@always-ask-why 23 күн бұрын
Tried to get your cheatsheet but your website is down.
@kozas0
@kozas0 5 ай бұрын
Go is full of weird symbols. And it has no structure -I have seen production Go code where they would define an empty object and then have about 2000 lines of receiver methods in that file - but how you know they are all like that? You have to scan every one of them, unlike in Java where you would just need to follow the opening-closing bracket of the class to figure out everything in between is a class' method. Very hard to read language.
@kozas0
@kozas0 5 ай бұрын
Plus if I remember correctly it has no final modifier, right? So while I am scanning some code I have to keep track within that function/method for any possible change in that variables, whereas in Java I just label the variables as final and let know the reader he can continue reading without worrying if the variable changes later on.
@EzequielRegaldo
@EzequielRegaldo Жыл бұрын
We migrated to net core
@laughingvampire7555
@laughingvampire7555 10 ай бұрын
Go is more exciting than Java because is newer, and the ecosystem is starting to form, is just like Java was in the early 2000s
@aka_vitfil
@aka_vitfil Жыл бұрын
How many companies migrated from Java to Go?
@IvanRandomDude
@IvanRandomDude Жыл бұрын
5
@aka_vitfil
@aka_vitfil Жыл бұрын
@@IvanRandomDude Could you provide some proofs, please. And when I say "migrate" it means total refusal to use Java but not use Go only in some new projects. How many companies have replaced Java code with Go code? I don't like Java, I really like Go but I hate click bate titles and messages! The truth is: there are many companies used Go for new projects or modules.
@DhavalAhir10
@DhavalAhir10 Жыл бұрын
​​@@aka_vitfil 1 - Shiprocket 2 - Gojek 3 - ConnectWise 4 - Swiggy 5 - Uber (Micro Services) 6 - Bank Of America
@artemsokolov5007
@artemsokolov5007 7 ай бұрын
java compilation is slow? whaaaaaat
@MrJohnnyImba
@MrJohnnyImba 5 ай бұрын
Prototyping can be extremely fast in Java if you can move comfortably inside Spring or Quarkus ecosystem and if you skip the pattern gabbage. Gradle can be complex but the init command bootstraps your gradle project as quick as go mod init. Java is extremely robust and the invest into the recent java versions is pretty good. Its moving into the right direction, albeit very slow.
@askhat1654
@askhat1654 5 ай бұрын
Java 21, WebFlux, RxJava, Micronaut and etc….
@esra_erimez
@esra_erimez Жыл бұрын
Isn't Gorilla Mux abandoned?
@RageOrangeBG
@RageOrangeBG Жыл бұрын
Yes, it is.
@footballfanatics007
@footballfanatics007 Жыл бұрын
What about node js , how is it performing in the industry should i learn it as I have javascript typescript background?
@nerminkarapandzic5176
@nerminkarapandzic5176 Жыл бұрын
If one would suggest Java developers to migrate to go then it would certainly be the same for javascript developers. Although javascript/typescript is probably the biggest ecosystem, I don't see companies switching from anything to it in the future. Nodejs has it's place but it can never compete with "real" languges in terms of performance and reliability, Go will beat nodejs in terms of performance by a big margin in almost any case while it still maintains the simplicity that you get with nodejs, and you don't have to deal with all the bs that comes with javascript.
@nerminkarapandzic5176
@nerminkarapandzic5176 Жыл бұрын
that said, if you just want to get a job as quickly as possible and you don't care about anything else, then learn nodejs.
@nerminkarapandzic5176
@nerminkarapandzic5176 Жыл бұрын
@@hermes6910 But wouldn't you agree that go is even easier to deploy, you get an executable and execute it, while with node you have to deal with actually having the nodejs installed then pm2 bs, versioning etc... I'm actually not a Go dev, but to me Go doesn't seem like a "low-level". And my advice was aligned with the narrative of the video. Again, my opinion is that, same as companies are moving from Java backends to Go backends, they will be moving from Javascript backends to Go backends as well. Doesn't mean either Java or Nodejs are now suddenly extinct, in fact they're both bigger than Go currently.
@mfc1190
@mfc1190 Жыл бұрын
@@nerminkarapandzic5176 I’m a go dev, and very few entry level devs are hired into go roles. It’s better to start with node as it will be much easier to get a job and experience and then learn go and apply those backend principles.
@dagothodros641
@dagothodros641 Жыл бұрын
​@@hermes6910 is it a Linux ?
@dragomirivanov7342
@dragomirivanov7342 7 ай бұрын
Dude, something is burning beside you.
@booos6823
@booos6823 Жыл бұрын
yea i prefer GO, but in the midst of studying those machine learning and most of the things there using python as framework :|
@argonauts56au1kera6
@argonauts56au1kera6 Жыл бұрын
This and the fact that the owners of Java who is Oracle, and they're a garbage company.
@Mooooov0815
@Mooooov0815 Жыл бұрын
But most companies don't even use Oracle Java anymore. Sure, they are still the ones designing the language. But many companies gravitate towards open source Java like with OpenJDK
@raianmr2843
@raianmr2843 Жыл бұрын
it's garbage inside out all the way down the very moment you have a corporation calling all the shots.
@leon_forte
@leon_forte Ай бұрын
I guess version 1.22 fixes the http router issue.
@jogurtnaturalny
@jogurtnaturalny Жыл бұрын
WTF is this smoke behind your bed?
@lazyh0rse
@lazyh0rse Жыл бұрын
You see, when I hear jAvA, I instinctively twitch in disgust out of habit. Now, hold on, before you call me names, I also programmed in Java for over 3 years. If you are using hyping Java because "eVerYbOdy UsE iT". Then I don't care how famous the language, I'm talking about solo development. If you take two projects, one made with Java, the other with Javascript, then you would get 10/1 Time to code. And the Java code is only 50% faster than the Javascript one.
@vacc1001
@vacc1001 Жыл бұрын
I mean the IDE itself fills in 90% of the stuff with autocomplete / intellisense. What are you complaining about? I can write C# or Java code in half the time that will blow your Go code out of the water. I can also write Go code in half the time that will blow your C# or Java code out of the water. The problem is your code not the language. Please don't be stupid.
@xtraszone
@xtraszone 6 ай бұрын
Go will be replaced with Bun in future
@always-ask-why
@always-ask-why 23 күн бұрын
Java has only one selling point - it is widely used. There is nothing else good about Java. Java was a big improvement over C++ but now there are MUCH better and more productive languages than Java.
@GoUkraine777
@GoUkraine777 10 ай бұрын
halfa year? lol wat what that enterprise java calculator? :D :D :D
@phanvanhoa
@phanvanhoa Жыл бұрын
Big techs have been firing. I hope soon propagate to small tech. Too many parasites in this industry with no better thing to do. To be frank it's a crime again humanity if anyone have the decency and the literary to understand what's going on.
@laughingvampire7555
@laughingvampire7555 10 ай бұрын
because java is garbage that is why the garbage collector pauses so much because is trying to collect the jvm itself 🤣
@Zeioth
@Zeioth 9 ай бұрын
go is the shit. and it's documentation generator is the shit plus plus.
@nyahhbinghi
@nyahhbinghi 5 ай бұрын
there is no way that documentation generator is useful - like javadocs lol
@laughingvampire7555
@laughingvampire7555 10 ай бұрын
In Ruby you can 20x performance by just not using Rails, Rails is just slow as fuck, use a standalone rack app is so much better alternative, Ruby is such a nice language that you don't really need frameworks. Rails has always been a mistake. And if you use truffle ruby instead of MRI you are going to get 40x or 50x performance increase. By avoiding rails and focusing on building small rack apps with nginx, roda and sequel you can scale horizontally better than with rails alone. And if you self-host the predictable traffic of your platform and you only use AWS for the overloads you can save a ton on infrastructure. developer time is a lot more expensive than cpu time. but I agree, Go is always going to be better than Ruby and Python, because allows to save developer time and also simplifies deployment time because all you deploy is one binary.
@feralaca123
@feralaca123 10 ай бұрын
sadly, most ruby jobs are rails jobs.
@esra_erimez
@esra_erimez Жыл бұрын
As a backend developer I very much dislike Dependency Injection
@dj-yv7oi
@dj-yv7oi Жыл бұрын
Can you tell more about your opinion ? :D
@12005914
@12005914 8 ай бұрын
Ok you win!!!
@cssiter8816
@cssiter8816 8 ай бұрын
Why
@md.redwanhossain6288
@md.redwanhossain6288 Ай бұрын
Then I doubt you don't write proper OOP code.
@patricksmith8262
@patricksmith8262 Жыл бұрын
I mean, Java sucks. Always has, but it emerged at a time when there were few options to address the issues it was trying to solve. And it had a great marketing campaign behind it.
@igorthelight
@igorthelight Жыл бұрын
True! But languages came and go ;-)
@kean8908
@kean8908 3 ай бұрын
Java and C are the past, Go and Rust are the future.
@laughingvampire7555
@laughingvampire7555 10 ай бұрын
Go has lots of same things I hate about Java. C syntax and dependency on environment variables, object oriented programming, lack of a sound type system that actually saves you from yourself or saves your future self from your past self and from the work of others from the past.
@CheefCoach
@CheefCoach 9 ай бұрын
Go is strongly typed procedural language. You don't make much of sense.
@gato-rs
@gato-rs 5 ай бұрын
Go is procedural, not object-oriented. Tf you talking about?
@VictimUser
@VictimUser 5 ай бұрын
Lol
How to Become an In-Demand Backend Developer in 2023
17:57
Golang Dojo
Рет қаралды 17 М.
GoLang: 10+ UNIQUE Concepts/Conventions that Beginners Should Know About!
13:56
Super sport🤯
00:15
Lexa_Merin
Рет қаралды 19 МЛН
顔面水槽をカラフルにしたらキモ過ぎたwwwww
00:59
はじめしゃちょー(hajime)
Рет қаралды 19 МЛН
ДЕНЬ РОЖДЕНИЯ БАБУШКИ #shorts
00:19
Паша Осадчий
Рет қаралды 2,3 МЛН
¡Puaj! No comas piruleta sucia, usa un gadget 😱 #herramienta
00:30
JOON Spanish
Рет қаралды 22 МЛН
Java vs Go. Что выбрать?
14:17
Sergey Nemchinskiy
Рет қаралды 53 М.
The One BIG Reason to Learn Google's Go Language
17:55
Gary Explains
Рет қаралды 153 М.
Golang is OG?
5:16
Martin Baun
Рет қаралды 2,5 М.
THIS is the BEST Way to Write HTTP Services in Golang
13:53
So...you THINK you know Go?
6:34
Golang Dojo
Рет қаралды 15 М.
I'm Coming Around To Go...
21:33
Theo - t3․gg
Рет қаралды 98 М.
What can you build in Golang?!
11:10
Golang Dojo
Рет қаралды 150 М.
The Chaotic History of Package Management in Go (so far)
7:08
Golang Dojo
Рет қаралды 10 М.
Node.js vs Golang COMPARISON
6:56
Jelvix | TECH IN 5 MINUTES
Рет қаралды 5 М.
3D printed Nintendo Switch Game Carousel
0:14
Bambu Lab
Рет қаралды 4,6 МЛН
Wow AirPods
0:17
ARGEN
Рет қаралды 1,2 МЛН
#miniphone
0:18
Miniphone
Рет қаралды 10 МЛН
Готовый миниПК от Intel (но от китайцев)
36:25
Ремонтяш
Рет қаралды 455 М.