Тёмный

Why are Companies Migrating from Java to Go? 

Golang Dojo
Подписаться 40 тыс.
Просмотров 36 тыс.
50% 1

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

Наука

Опубликовано:

 

17 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 151   
@GolangDojo
@GolangDojo Год назад
Get your *FREE Golang Cheat Sheet* - golangdojo.com/cheatsheet
@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!
@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 🤪🤪
@fruedal
@fruedal Год назад
Are we going to ignore all that smoke/steam going on in the back?
@johnboy14
@johnboy14 9 месяцев назад
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.
@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.
@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 10 месяцев назад
I like Gin-gonic.
@justinsmith3981
@justinsmith3981 9 месяцев назад
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 5 месяцев назад
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 4 месяца назад
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 4 месяца назад
@@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.
@albtein
@albtein 7 месяцев назад
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.
@catto-from-heaven
@catto-from-heaven 7 месяцев назад
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.
@kqvanity
@kqvanity Месяц назад
It would be much great if you could accompany some of those points with benchmarks
@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.
@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 7 месяцев назад
​@@krigeDI using construction bruh!! Why the hell u need a framework for DI????
@bionic_batman
@bionic_batman 3 месяца назад
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
@always-ask-why
@always-ask-why 2 месяца назад
Tried to get your cheatsheet but your website is down.
@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 :) )
@n_lisper
@n_lisper 21 день назад
I’ve seen a company migrate from Java to Go because Java was not performant enough. Turns out they had 20 JVMs each running on a separate node with 1cpu and around 500mb of heap size. I saw benchmarks showing that with less but more powerful VMs (multiple cores and increased heap size) the performance increase was astonishing. I do think Go is a great language but when you migrate Java application because of bad performance, chances are you’re not coding/configuring VMs efficiently. So yes having performant Java environments requires a little more than java -jar but is that really a bad thing? I personally love performance tuning and Java offers so many possibilities depending on your setup. If you’re building a new application, go with the stack you and your team are most comfortable with, don’t just go with the hype. If you have an existing application, look for potential optimizations before thinking about migrating to a whole new stack.
@robfielding8566
@robfielding8566 Месяц назад
I was told that at the company I was at in 2015, there was a meeting in which the higher ups mulled over firing all of the Java developers. The licensing, after Oracle acquired Java, was a huge problem. It invited in Oracle lawyers. Programmers picking Java were bringing in legal peril for the company. I was one of the "Java Developers". They bought our company, and fought the inclusion of the JVM the entire time. A lot got ported to C#.
@leonardeuler7988
@leonardeuler7988 3 месяца назад
Simplicity and Performance are interested point to migrate to golang.
@EzequielRegaldo
@EzequielRegaldo Год назад
We migrated to net core
@maximodakila2873
@maximodakila2873 Месяц назад
This is a moot point since Quarkus can compile to native binary and won't be needing JVM to run, and would have the smallest of footprint and resources.
@kozas0
@kozas0 7 месяцев назад
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 7 месяцев назад
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.
@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
@theashenone564
@theashenone564 15 дней назад
Uber, American Express, Master Card, Netflix, Bank of America, a lot of Banks, Docker and previously Discord, all use go now. I am former java dev and senior dev for one of the North America's biggest banks, and we migrated our entire payment gateway backend to go over last couple of years. And we process literally 78% of all NA's large B2B transactions. Now we are migrating document management service and Loan Origination application to go
@aka_vitfil
@aka_vitfil 15 дней назад
@@theashenone564 Awesome job! But what the real profit of this migration for business?
@lubeckable
@lubeckable Год назад
bro are you still using java in your job?
@sadiulhakim7814
@sadiulhakim7814 7 дней назад
Yes
@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 ?
@ChristopherVanDerWesthuizen
Dependency injection: good! Dependency injection frameworks: bad! Yeah, it's not a bug that Go doesn't have a sanctioned framework.
@dragomirivanov7342
@dragomirivanov7342 9 месяцев назад
Dude, something is burning beside you.
@esra_erimez
@esra_erimez Год назад
Isn't Gorilla Mux abandoned?
@RageOrangeBG
@RageOrangeBG Год назад
Yes, it is.
@MrJohnnyImba
@MrJohnnyImba 6 месяцев назад
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.
@artemsokolov5007
@artemsokolov5007 9 месяцев назад
java compilation is slow? whaaaaaat
@laughingvampire7555
@laughingvampire7555 11 месяцев назад
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
@leon_forte
@leon_forte 3 месяца назад
I guess version 1.22 fixes the http router issue.
@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 :|
@nyahhbinghi
@nyahhbinghi 7 месяцев назад
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 2 месяца назад
Executor framework?
@javiergodon260
@javiergodon260 Месяц назад
Java virtual threads
@sadiulhakim7814
@sadiulhakim7814 7 дней назад
Learn Project Loom.
@askhat1654
@askhat1654 7 месяцев назад
Java 21, WebFlux, RxJava, Micronaut and etc….
@sadiulhakim7814
@sadiulhakim7814 7 дней назад
I use java 21 and Spring boot. Currently thinking to learn Web Flux. We have Virtual Thread and graalVM. Do you think i should learn webflux?
@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.
@jogurtnaturalny
@jogurtnaturalny Год назад
WTF is this smoke behind your bed?
@xtraszone
@xtraszone 8 месяцев назад
Go will be replaced with Bun in future
@GoUkraine777
@GoUkraine777 Год назад
halfa year? lol wat what that enterprise java calculator? :D :D :D
@jongxina3595
@jongxina3595 17 дней назад
Why are people using Go... use Rust if u really care that much about performance.... And its a way better language. Go is only slightly more performant than Java but Rust blows both of them out of the water...
@laughingvampire7555
@laughingvampire7555 11 месяцев назад
because java is garbage that is why the garbage collector pauses so much because is trying to collect the jvm itself 🤣
@always-ask-why
@always-ask-why 2 месяца назад
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.
@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.
@Zeioth
@Zeioth 11 месяцев назад
go is the shit. and it's documentation generator is the shit plus plus.
@nyahhbinghi
@nyahhbinghi 7 месяцев назад
there is no way that documentation generator is useful - like javadocs lol
@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 11 месяцев назад
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 11 месяцев назад
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 10 месяцев назад
Ok you win!!!
@cssiter8816
@cssiter8816 9 месяцев назад
Why
@md.redwanhossain6288
@md.redwanhossain6288 2 месяца назад
Then I doubt you don't write proper OOP code.
@laughingvampire7555
@laughingvampire7555 11 месяцев назад
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 10 месяцев назад
Go is strongly typed procedural language. You don't make much of sense.
@catto-from-heaven
@catto-from-heaven 7 месяцев назад
Go is procedural, not object-oriented. Tf you talking about?
@VictimUser
@VictimUser 6 месяцев назад
Lol
@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 5 месяцев назад
Java and C are the past, Go and Rust are the future.
Далее
How to Become an In-Demand Backend Developer in 2023
17:57
The One BIG Reason to Learn Google's Go Language
17:55
Просмотров 155 тыс.
mood всех бабушек
0:11
Просмотров 396 тыс.
Java vs Go. Что выбрать?
14:17
Просмотров 55 тыс.
This Is The BEST Way To Structure Your GO Projects
11:08
I'm Coming Around To Go...
21:33
Просмотров 104 тыс.
Java is mounting a huge comeback
3:40
Просмотров 1,1 млн
Why are Companies Migrating from Javascript to Go!?
8:44
What is the Java Job delusion?
12:23
Просмотров 110 тыс.
Java 21 Is Good?! | Prime Reacts
27:08
Просмотров 220 тыс.
Should you learn Go in 2023?
4:33
Просмотров 165 тыс.
$1 vs $100,000 Slow Motion Camera!
0:44
Просмотров 23 млн