Placeholder Image

字幕列表 影片播放

  • Hey, welcome back to another episode of the tech lead.

  • This is another episode of the tack.

  • Lied.

  • I am the tackle it and I am the tech lead.

  • This is coffee time with the tech lead and this is Sonny that dog.

  • Why don't we talk about which programming language you should learn?

  • For example, let's pretend that you're currently programming in Python and now you're thinking maybe it's time to add the new language to the text back.

  • You know, maybe Ruby on rails is looking pretty cool.

  • Maybe closure seems pretty neat.

  • Let's just add those over.

  • Let's ask Allah hosko and threw in er lane and elixir to Why not?

  • And you know what?

  • Personally, for me, since I've been learning Japanese, we're gonna throw Japanese into I think it be pretty need to just start programming and Japanese.

  • I find that very it's that very useful for myself, and it be pretty neat to all.

  • The comments will be in Japanese and anybody who wants to contribute to that portion of the code base.

  • Let's go have the program in Japanese.

  • I might also throw in some Chinese, Spanish and French, and we can start programming that, too.

  • I'm sure some developers would really enjoy these languages.

  • And we may even get some communities like we may be able to build up a Latin program re language group and everybody.

  • There would just be very enthusiastic Latin programmers.

  • They'd be programming and picked Latin or something like that.

  • This video, by the way, is sponsored by myself.

  • Now, I know I love you guys think that this is a joke?

  • That's not really This is really okay.

  • Tackling season one HD complete 1995.

  • It's a real offer.

  • You can go buy.

  • Purchase it right now.

  • Amazing value, tons of videos, Tons of great content.

  • Going to save you a lot of money.

  • A lot of time.

  • I don't know why nobody has bought this yet.

  • People think it's a joke.

  • People think I'm a joke.

  • None of this is a joke.

  • Okay.

  • You want to get there You want?

  • Take out your wallet, pick up your credit card and go buy my stuff right now.

  • Do it now and I will wait for you to do it because we're not even going to continue this video until you finish your purchase.

  • So I would just sit here and I will wait.

  • And if you don't want to pay, then you can just stop watching this video right now.

  • You don't need to continue.

  • You can just go now.

  • Okay?

  • But if you want to continue watching this video, then where you want to do is press the pause button right now and take out your credit card and finish the purchase by my stuff.

  • And then you can unpack the video, and I will wait for you to do that.

  • Anyway, look, I was just joking about that.

  • I'm not going the way and you don't need to stop the video right now.

  • Go ahead and washing the rest of this video.

  • I need to get my monetized, add views.

  • So let's get that done at least.

  • Anyway, this isn't a joke.

  • Go ahead.

  • Purchased my stuff.

  • Just do it.

  • Do it now.

  • On with the show You.

  • A lot of times I see developers motivated by the wrong things and their priorities are completely messed up.

  • They're going to go and say that they want to start programming in list because they think it's very clean.

  • Be the full functional language they think that program re languages should be the clarity instead of imperative.

  • They're going to start adding this whole new programming paradigm into the mix.

  • And some programmers are going to be motivated by puzzles, challenges.

  • They won't learn new things.

  • They won the hop on the new bandwagon.

  • Maybe they're already programming an objective C.

  • Then Swift comes out.

  • Everyone thinks if the school they're going to start adding shift into the mix, they want to learn that they think it's neat.

  • And that's really not the right way to go about this thing.

  • You want to do everything in your power to avoid adding new programming languages to your mix.

  • The avoid adding new programming paradigms because that's just going to add a bunch more complexity that you don't need.

  • If you really must add a new language to your text act, it should be for a clear business need, not simply because it's some syntactic sugar, kind of like how it looks a little bit better.

  • That seems a little bit need, er, maybe it's a little hyped up.

  • Maybe your little curious.

  • Maybe you feel that says you're the developer should be up to you.

  • Your choice to implement that however you choose.

  • And a lot of people want to say to developers that the developer has the freedom to implement their code, however, where they like and they have the freedom to choose their technologies.

  • I was saying, though you don't have to free them to use any technology you want.

  • And if you do want to introduce a brand new technology, you better write up a really good business need.

  • Now, let me explain why the first thing is about developer ramp up.

  • You won't make sure that everybody in your team now or in the potential future can easily contribute to any part of your code base.

  • Full stack, if at all possible.

  • If you have a certain portion of the code base that is written in some obscure, strange, crazy language that only one guy on your team really knows how to do, then that's just going to cause a whole bunch of maintain ability issues further down in the future.

  • For example, if you were to look at companies like Twitter, GMO Arlington, they were using scholar just because it seemed like a cool hot thing at the time.

  • Now they've been pulling back on scholar and getting rid of that and comforting and back to just standards job.

  • Oh, simply because there's a lot of overhead in having this additional language.

  • Everybody needs to learn it.

  • You got the higher specific people to do it.

  • Other people can't contribute to that portion of the code.

  • All the tooling, the lynchers, the editors.

  • Everything is going to be different.

  • I think that if you were to examine a lot of these languages, that only adds syntactic sugar.

  • But don't add anything additional beyond that.

  • While these languages didn't do very well.

  • If you look at, for example, coffee script, which compiled down into Java script and they're essentially just made Java script a little bit prettier, a little bit nicer to write, there was no really additional business need for this thing.

  • Coffee script eventually died out because everybody already knows standard vanilla JavaScript and that you want to tell people that they have to learn this additional framework, this additional language.

  • On top of that, it's just going to be harder to get people to use that and either way you're probably going to be using standard JavaScript and other places in your coat.

  • Same goes for paradigms.

  • Sometimes I'll see people programming and say Java, and then job is a very imperative programming language.

  • And then they say they want to add in a new functional language like, say, closure.

  • On top of that And what you really get is you just get the worst of both worlds, where you have both imperative and functional programming in there at the same time.

  • And then you fragment your developers such that some people only know how to write closure code, which runs on Java.

  • Some people only know how to write the original Java code.

  • You've got two different paradigms in your code base.

  • I'm not big fan that functional programming, because the world is imperative.

  • Humans don't think in the functional way, humans think, and then imperative way functional programming is.

  • If you were to say that in order to make coffee, you first take a cup and a liquid mixture in order to make the liquid mixture.

  • Then you would have to add powder and water so you break it down from the top down perspective.

  • Imperative programming is to say that if you wanted to make a cup of coffee.

  • You first take the mix, mix it with water, then added to a cup.

  • It's a set of directions, a set of commands to create, like a cup of coffee.

  • And that's really how humans operate.

  • The other thing about functional program is they don't like mutability.

  • So, for example, if I wanted to drink this cup of coffee in the functional manner, I would not actually decrease the amount of liquid in here.

  • I would actually first copy this entire cup and then have it created with a less amount of liquid and that we'll call that a cup of coffee that has been drunk.

  • You humans just don't really operate in that way.

  • I think there's a lot of great things about functional programming.

  • I think immune ability works created many scenarios, but generally just have sort of the worst of both worlds.

  • Now, where you have two different ways to write two different pieces of code, it's not really clear how or why you would use one over the other.

  • It's kind of personal preference, and there's just a lot of weak reasons about why you're doing this.

  • So what is this really about It's really about capabilities.

  • Now, if you take a look at Ruby on rails, the only reason people really used Ruby on rails was it wasn't because Ruby was a great language.

  • It's okay, but it was really about rails.

  • There was this nice framework rails that helped create simple Web applications, And that was why people want that.

  • Very few people just decide to use Ruby without rails, because if you're going to do that, you might as well use Python.

  • And sure, I see a lot of people trying to compare, say, Rubies in text with Pathan's syntax and saying, Well, I like this part better.

  • I like that part better.

  • These are all very weak reasons.

  • Do you know why people use Java?

  • Script is because it's the only programming language that will run on the Web browser.

  • Similarly, if we were to take a look at this language elixir, I think the reason Alex ER has been popular in the past is because it was one of the few languages that was really capable of doing concurrent real time communications.

  • Like you could build a chat server with this, you couldn't really use python or a Ph.

  • Pete to do it because he's had very expensive heavyweight connections.

  • They couldn't hold on too many connections at the same time, they couldn't scale properly.

  • That's why people had to abandon pattern repeats speed to go into these other languages.

  • That could do real time communications like no Jay's elixir goal A.

  • I can tell you that if people could build real time chat communications using pattern or pay HP, they would have done it.

  • It wasn't simply because elixir had nice, beautiful, functional syntax or something like that.

  • And these days I might say that, Hey, if a large part of your technology you're back and is probably going to be in safe python or PHP or Ruby on rails or something like that, even, say JavaScript thes air all imperative languages, why do you want to go and mix in a functional language into your ho text back?

  • That's going to create at least some friction for people to switched their mindsets into doing logic in a reverse the weight.

  • That's why I might recommend to look into Sago Ling going, I think, has been gaining popularity quickly and has superseded these other languages because is able to support real Time Micro Service's, and they're so in an imperative manner.

  • So I think the main message I wanted to get across for you guys here is that you really want to avoid adding tons of random languages, especially if it's a hype driven language.

  • You know, any time you think about doing this, just think about why don't we just add a new programming language in Arabic or German or Japanese or Chinese or whatever, simply because some guy thinks it's cool?

  • Some guy thinks it's interesting because I'm sure there's somebody who really things.

  • Programming in Arabic is awesome, and I'm sure he's going to appreciate it because he speaks Arabian fluently.

  • Don't add new languages to your text back.

  • Minimize them, if at all possible.

  • But that's not to say you shouldn't be curious about them.

  • Learn them in your spare time.

  • Have fun with them, but it's really not so much about this in tax.

  • Look at the new capabilities and business needs, the functionality that these languages may act for you.

  • They'll do it for me.

  • If you enjoyed the video, give it like and subscribe.

  • I'll see you next time.

Hey, welcome back to another episode of the tech lead.

字幕與單字

單字即點即查 點擊單字可以查詢單字解釋

B1 中級

如何選擇編程語言(為你的技術棧)? (How to choose a programming language (for your tech stack))

  • 5 0
    林宜悉 發佈於 2021 年 01 月 14 日
影片單字