/首页
/开源
/关于
翻译《2023年不应该学的编程语言》
发表@2023-06-15 14:02:42
更新@2023-06-16 17:32:00
原文地址:https://imaaduddinn.medium.com/programming-languages-not-to-learn-in-2023-29df99b3f984 个人感悟:老外也TM一个屌样儿,天天妈地吵吵语言...本人翻译将不会严格扣学院派字眼定义,而是在不曲解原意的前提下尽量用我们日常交流的中国化口风去翻译 Hey everyone! My name is Imaad, and here we talk about everything software engineering and computer science. 嗨,大家好,我是老李,今天这里呢,让我们一起讨论关于软件工程和计算机科学的方方面面(一切)。 If that’s something that interests you, please consider following for more content like this! Today we will talk about some programming languages that you should not learn this year, so let’s get started! 如果有什么玩意摸到了你的G点,直接关注我(一键三连)就能获取到更多相关内容。今天我们一起探讨一些你今年不应该再学习的编程语言(日经帖...评论区喷起来!)开始吧! I want to start by saying that there is no bad programming language. Every programming language has a role and is very important to the applications the world uses daily. 首先呢我想说其实并没有糟糕的(辣鸡)编程语言。每种编程语言都有属于它的一席之地,而且对于我们日常使用的应用程序也是非常重要的。 As some of the older programming languages are getting replaced by newer ones that are also much higher in demand, it makes more sense to focus on learning those. 由于一些较为古老的编程语言正在被需求量更高的新编程语言代替(in demand意为受欢迎的、有需求需要的),所以将注意力放在这些新语言上更有意义。(make sense是讲得通、有意义的意思,make sense to do sth是做什么事情有意义的意思) The cool thing about programming languages is that the basic syntax is usually the same. So once you have a solid understanding of one language, picking another language becomes much easier. 编程语言非常牛逼(cool翻译成牛逼,参考姜文教昆汀new bee == super cool)的一点在于它们之间的基础语法通常是相同的。所以一旦你对一种语言有深刻理解,捡起来另外一门语言学习(solid understanding是深刻理解、深刻认识的意思)也将会是一件非常容易的事。 C# The first language you should avoid learning is C#.Now C# has been a very popular programming language for years with a huge online community of support and knowledge. 第一门不该学习的语言就是C#,C#已经是一门流行多年的语言了,背后拥有庞大的社区支持和在线知识库。 My biggest issue with the language is that it takes a lot to get up and running and make progress with if you’re completely new to programming. 对于我而言C#最大的问题是,如果你是一个新手,那么它将耗费你不少学习成本才能让它跑起来、才能取得些许进步。 For example, with C#, you have to download the .net runtime and the .net framework. 比如你不得不下载安装.net运行时环境以及.net框架。(for eaxmple,举个例子的意思;have to,不得不如何如何) You then have to compile your code to something, so you need a command line tool or you need to download Visual Studio or have an extension on Visual Studio Code. 然后你又不得不把你的代码编译一下(估计是中间代码),所以你又需要安装命令行工具或者下载全宇宙最好的IDE Visual Studio或者给Visual Studio Code配置一个扩展。 In the beginning,while you’re learning and say you want to start building some projects you’re pretty much limited to console applications which is pretty boring. 在刚起步学习的时候,如果你想构建一个自己的工程,一个很烦人的事情就是你几乎只能做一些简单的命令行应用。(pretty much是基本上、差不多的意思,比如This is pretty much the best park here,这差不多是这儿最好的公园了;或者Have you finished your work?Pretty much,什么意思呢,你完成你的工作了吗?差不多。) A great first programming language to learn is one that doesn’t require a lot to get up and running. C# isn’t that unfortunately as you have much better options. 要入门学习的第一门语言不应该依赖太多才能启动和运行,所以C#并不太合适,因为你有更好的选择。(我认为此处C# isn’t that unfortunately,unfortunately应该是用于修饰C# isn’t that的副词,如果句子调整成unfortunately C# isn’t that或许就更容易理解) Java The next language to avoid is Java. This is tough because Java is so popular and taught at most universities in their computer science programs. 下一个需要避开的语言是Java。这应该是比较难(扯)的一件事,因为Java太流行了,而且还被广泛运用于诸多大学计算机科学教学中。 So if you’re learning it in school then you really don’t have a choice, but if you are self teaching yourself try to avoid this language as your first. 所以如果你是学生的话就很难有其他选择,但是如果你是自学的话,尽量避免Java作为你的入坑语言。(后半句如果学院派地话,我认为原文语法多少可能有点儿问题?) Java is used at many companies so you will be using it at some point in your career, but as I mentioned before, once you have a solid understanding of one programming language, picking up your second and third gets a lot easier. 许多的公司也在使用Java语言,所以在这同一阶段,你的职业生涯中也添上Java这一笔,但是正如我前面提到过的,一旦你对一门语言有了深刻的理解认知,捡起来第二门、第三门语言将会更加容易。(at the same point,如果机械翻译是在同一点的意思,但是口语翻译应该是同一个阶段的意思) The issues that Java has is the same as what I said previously about C#. The setup time takes some time, and you have to write extra lines of code to do something whereas in other languages you can do the same thing in one line of code. Instead of starting out with Java, I think you’re better off with JavaScript or Python as your first language. Java的问题和前面我说过的C#的问题是一样的。配置安装需要耗费一些精力和时间,并且实现同样一个功能,Java得额外多敲好几行代码,你换别的语言一行搞定。所以我认为你最好使用Javascript或者Python作为入门语言,而不是Java。(instead of是代替、而不是的意思;be better off with xxx,有xxx的话,会更好;如果xxx是人的话,可以翻译为更幸福美好。举个例子,Think carefully whether you might be better off with TCP, instead of UDP,这个自行翻译吧...) C++ Another language to avoid which is also a very popular language taught in computer science programs is C++. Now quite a few people will say that C++ is the perfect language because it’s the right way to learn programming. 另一门同样流行的语言,同时也大量用于计算机科学教学的语言就是C++。相当一部分人会说C++是完美的语言,这才是学习编程正确的套路。(quite a few就是相当一部分、相当多的意思,尽管后面a few是几个的意思,但是quite在前面顶了用) I don’t agree with this because that’s like going to the gym and starting off by lifting 300 pounds right away. It’s just not the right way to go about it, as it’ll be too much. 我不同意这个观点,因为上来就搞C++有点儿像直接跑路去健身房直接开始举重300斤。这就不是正确开始搞编程的方法,因为这玩意成本更高。(gym是体育馆、健身房的意思,比如play basketball in the gym;start off是出发、动身的意思;lifting则是名词举起重物的意思。) You have to work your way up. C++ is not your average programming language. It’s a low level programming language which means that it has direct access to a computer's resources such as memory and CPU registers. 你必须得支棱起来卷一波儿升职加薪996(work your way up是提升自己地位、升职的意思,就是卷的意思)。这玩意是一门低级语言,也就说这门语言具备直接操控计算机底层硬件资源的能力,比如内存分配、CPU寄存器。 This means that you as the programmer will have to learn how memory management works and other low-level tasks. 这意味着(This means that xxxxxxxx句式,就是这意味着xxxxxxx)作为程序员你必须得知道内存分配机制以及其他底层API原理。 Now many programmers will say that this is a good thing for you to know, but for someone who is starting out, learning the basics and fundamentals of a programming language is hard enough, and it won’t make sense to add something extra and more advanced to learn on top of that. 现在很多程序员会说学习了解这些底层知识是一件好事儿,但是这对于刚起步学习基础语法的人而言是相当困难的,额外增加学习成本与这些高难度的知识其实并没有太大意义。 It’s better to learn a high-level programming language instead, like Python. With Python, you don’t have direct access to resources, and you don’t have to learn about memory management either. 选择学习一门高级语言是更好的选择,比如Python。使用Python你无法直接操控计算机底层资源,你也没有必要去学习内存分配管理机制。 SQL The next language to avoid is SQL. To start, SQL isn’t even a programming language to begin with. SQL is actually a query language. 下一个要避开的语言是SQL。首先,SQL压根就不算是一门编程语言,确切说它应该是一中查询语言。 A query language has some programmatic aspects, but its main purpose is to query data from relational like filtering out information, inserting information, etc. 一门查询语言虽然具备一些编程方面的特性,但是它主要目的还是为了解决从关系型数据库中查询数据,比如过滤信息、增加信息等等。 You should definitely learn SQL later on down the road once you have more experience and have a need for a database but for one who is just starting off, it’s not worth your time. 你应该在未来具备一定编程经验后,项目工程中需要使用数据库的时候再去学习它。如果你拿它当入门语言,纯属浪费时间。(later on,短语,过一段时间后、以后、之后的意思;down the road是将来、未来的意思,短语) PHP Another language you should avoid is PHP. PHP is a very popular language, and according to some statistics from an article I’ve read in the past, it’s used in 8 out of every 10 websites you visit on the internet. 另一个你要放弃的语言就是PHP。PHP是一门非常流行的语言,根据我以前读过的一篇文章中的统计数据,每10个网站中就有8个网站是用PHP实现的。(8 out of every 10,短语,每10个中就有8个的意思。在电影《生化危机恶灵古堡》的开场白中,有这样一句Nine out of every ten homes contain its products,就是说每10个家庭中就有9个拥有保护伞公司设计生产的商品。) Now as popular as the language is it is slowly phasing out in my opinion. I’d rather learn JavaScript as my first language over PHP as it’s still very popular and high in demand. 我觉得吧(In my opinion,在我看来的意思),尽管PHP现在还很流行但是它正在逐渐被淘汰(phase out,短语,就是阶段性地废弃、逐渐淘汰的意思)。我更愿意选择Javascript来作为我的入门语言而不是PHP,JS目前也非常的流行并且需求量巨大。 PHP also suffers the same issue I mentioned with Java and C#. It takes time to set up and get up and running. When starting out, it’s better to learn a language where you don’t have this obstacle, like JavaScript or Python, and you can save PHP as a second language to learn. PHP同样也存在前面我提到的Java和C#的问题。它需要你花费一定时间才能安装、运行和启动。当你起步学习的时候,你最好选一个没有这种绊脚石(obstacle)的语言,比如Javascript或者Python(说的好像Python没有这种问题似的... ...PHP小黑子),你可以把PHP当作备选语言学习。 Swift & Kotlin Now these next two languages aren’t bad, but learning them as your first language wouldn’t be the best choice, and here is why. 这两门语言并不辣鸡,但是如果当作入门语言来学习绝对不是最佳选择,我说下为啥。 They’re both used for mobile development. Swift is used for iOS, and Kotlin is for Android. Swift and Kotlin are actually excellent languages to learn once you have a solid foundational skill set with programming. 这两门语言都是为移动开发设计的。Swift可以用于开发iOS应用,Kotlin是用于Android应用的。一旦你拥有扎实的编程基础经验,这两个语言都是非常好的可以学习的语言。 As I mentioned with the previous languages, it takes a lot to get up and running with these two. I’d only suggest learning them first if you’re 100% determined to get into mobile development and you have no interest in web development or backend or any other non-mobile development positions. 正如我前面提到的语言一样,这两个语言也需要浪费很多时间精力安装设置才能启动运行起来。除非你是下定决心要学习移动开发、并且你对web开发或者后端研发、或者任何非移动开发都没有兴趣,否则我不建议你学习这两门语言。 There are also not as many mobile development positions as there are for web development, and most mobile development roles require a few years of experience. 移动开发的岗位数量没有web后端开发那么多,而且大多数移动开发岗位都要求几年的工作经验。 I love mobile development, particularly for iOS, and what I’m doing right now is learning Swift and building projects on the side while working a full-stack engineer job to build a solid foundation in programming. 我非常喜欢移动开发,尤其是iOS开发。我目前就在学习swift语言,我一边儿做项目,同时也在从事一份全栈工程师的工作,这样我就能打下扎实的编程基础。 Once I have the experience, I will definitely look to transition to iOS development, and maybe this is something you can try out as well! 一旦我经验丰富了,我会考虑转岗做iOS开发,这或许也是你正在想尝试的!(as well,一般用在句尾,就表示也的意思) I would like to conclude by saying that this is my opinion only. I am not downgrading any of these languages as I believe them all to be very important. 总结一下,以上都是仅仅是我的个人看法,我并没有贬低任何一门语言的意思,我相信它们都很重要。 I think for someone who is starting out can use their time better learning languages like Python and JavaScript over the languages I’ve mentioned. 对于那些刚起步学习编程的人,我希望他们能把时间用在学习Javascript或者Python这样的语言上,而不是上文中被cue的其他语言。 All of these languages can be great second or third languages for you to learn once you get a solid foundation in programming. 一旦你有了扎实的编程基础经验,上文被cue的语言作为第二门或者第三门语言都是非常好的。 I also plan on writing about some languages you should look into learning this year, so be on the lookout for that. Thank you all for reading, and have a wonderful day! 我也在计划写一些关于近些年你应该研究学习的语言,敬请留意(be on the lookout for,短语,注意、留意的意思)。感谢大家的阅读,祝有美好的一天!