后端语言选择
谢邀。选择了一个方向后,可不只是选择一门语言那么简单,而是要不断充实自己的技术栈,不断织好自己的技术路线网。具体可看看我的专栏里的文章「编程八部」。从编程语言角度来看,如果你要选择一门编程语言,我八成会推荐Java。虽然我不喜欢Java,但它用得实在是太广了。现在情况跟我那时候可能也不一样了,我们是Basic → C → 汇编 → ……虽然我觉得这样才算学语言的样子,但现在情况不一,我也只好随大流了。
■网友
如果只是玩玩的话优先选择动态语言,否则应该选择机器可读性强的静态语言更有利于各种自动化的支持。
■网友
分行业,如果是互联网行业的,可以选择 Java,传统软件行业的 Java C# 都可以。
Python Ruby 这些除非是创业小公司快速做产品,否则不适合。看题主的描述应该是之前没做过开发,那最好是先学 C 掌握基础,然后学习 Java 去做螺丝钉。等有经验了再去学 Python 之类。
纯做后端的话千万不要相信有些答主说的学 Javascript(含TypeScript 等)之类的,语言首先得有个土豪爹再带上丰厚的嫁妆(标准库)。
JS 很多 C# Java 含在标准库里基础的东西都得去 NPM 上找来路不明很可能是个体无证程序员开发的包,实在是不靠谱。
■网友
我正好之前在给我们的团队选择新的后端语言,说一下我的思考
我们团队之前的语言是PHP,对于新的语言我主要是希望能够获得更好的代码质量和开发效率
PHP是一门动态语言,动态语言的一个问题就是过于灵活的类型导致重构和迭代过程中变更部分的“不可预期”,简单来说就是你改了一个地方无法很方便的知道哪些地方会被影响到,代码越多越麻烦
一般来说动态语言如果要解决好这个问题就是编写大量单元测试,但是实际工作里面,几乎不会有那么多时间来开发单元测试,更不要说编写高质量的单元测试本身就不是一件很容易的事情
所以,我一开始就把Python、Ruby这些动态类型语言放弃了
于是我主要考虑有编译过程的静态类型语言,因为编译过程就基本上等于已经提供了一半的单元测试,很多问题在编译过程里面就会直接暴露出来,只需要针对业务逻辑写单测就足够了
Java我没考虑,这个主要是口味问题而已,没啥好说的,各有所爱
当时的选择是Go和TypeScript
最先是倾向于TS的,前后端两个团队共用一门语言是一个诱惑,且我对TS的开发体验也感觉很好。类型系统可以渐进式的使用,适合没有静态语言开发经验的人逐渐上手。
最后放弃的原因是因为npm这个生态系统太过于激进和随意。包虽然多,但是高质量的包太难淘,时常在用现成的和造轮子之间斗争。
举个例子,我希望通过update ... returning ...更新记录并返回指定字段,我用的那个包提供了一个类似于update().returning()的方法
returning()方法接受(a, b, c, ...)或者()方式的参数,然后我就很崩溃的发现
returning(a) // 直接返回a字段的值
returning() // 返回包含a字段值的数组
returning() // 返回object,key是a,b,值是对应的字段值
把我搞怕了,这么玩法怎么得了。这个包还是我选了又选,比较了又比较的结果
最后还是决定用Go,好处已经有很多人说过了,网上一搜就有,我就不浪费口水了
■网友
如果纯粹从就业的角度去看,首选还是java。建议题主点开自己心仪的公司的后台职位介绍,看一下就明白了
■网友
【后端语言选择】 从招聘信息来看,最多的应该是JAVA和php,Python也有,只不过数量没有前者多。
■网友
人生苦短,我用Python~
■网友
JAVA和Kotlin
■网友
按照现在语言热门程度来说,JAVA或者PHP二择其一就可以了……
推荐阅读
- 新冠病毒■防御新冠病毒,选择哪类消毒剂?江苏疾控专家权威解答
- OC为何跌出语言榜前十
- 网通社|喜欢蔚来的越来越多了 连续四个月交付创新高 你是否愿意放弃特斯拉选择它?
- 趣头条|【15周年】豪华舒适的配置,不错的驾驶体验,VV7我不后悔的选择
- dart这编程语言现在发展怎么样了,语法与Java,c#很相似,甚至更简洁
- 人民车市|新语言、新起点,捷达VS7 强势入局
- 大学选修课该咋选兴趣还是那些容易过的
- 汽车知识|丰田汉兰达和三菱帕杰罗v97,谁的越野能力更强,这两款车该怎么选择呢
- C语言 指针引用数组的地址问题
- 趣头条|#敢发就敢送#家里第二辆车的最佳选择——欧拉黑猫
