首页 > 编程语言 >学了十几种编程语言后,我终于悟了!

学了十几种编程语言后,我终于悟了!

时间:2024-07-25 11:10:19浏览次数:17  
标签:Java 语言 编程语言 十几种 C++ 语法 学了 PHP

大家好,我是程序员鱼皮。

16 ~ 24 年,算下来我学编程 8 年多了,这期间我学过十几种编程语言,比如 C、C++、Java、Python、JavaScript、Go、PHP、C#、SQL、Scala 等。

这么一看,目前排名前 10 的语言除了 Fortran 没接触过外,别的语言或多或少都写过点儿东西。

Visual Basic 是高中考计算机就学过的了,那会儿我还是计算机课代表来着,掌握着班里电脑的使用权哈哈哈。

学过这么多语言,乍一听好像挺厉害的,但事实上,学过的语言很多,熟练的就那么几个。很多语言学完之后,不写就忘了,就好像从来没有学习过一样。

那我为什么要学这么多编程语言?是怎么学习的?学了这么多语言对我有哪些好处和坏处?现在我们到底应不应该学多门语言呢?

下面分享一下。

 

为什么学这么多编程语言?

回顾我学语言的过程,无非就是四个原因:感兴趣、学校让学、找工作混饭吃、还有就是项目要用。

老实说,现在计算机专业的同学,光跟着学校学,基本就会好几种语言了吧。

先说兴趣,我在高中时就很想做自己的网站,只不过那会儿是用什么 Front Page,Dreamweaver 拖拖拽拽就搞定了(应该没有多少同学用过吧)。所以上了大学,我第一个自学的就是前端,对应的语言就是 HTML、CSS、JavaScript 三件套,当时的目标就是加入学校的网站建设工作室,能来点儿外快。

那会儿真是青涩啊,手里拿了本 HTML 5 入门教程,感觉拥有了整个世界。现在回想起来,只觉得头顶凉飕飕的~

再说说学校教的语言,当时我们刚入学第一个接触的是 C 语言,现在好像很多学校改成了直接讲 C++?

可惜的是,我当时并不开窍,心思也不在学习上,所以学的一塌糊涂,最后写了个能在小黑框里运行的图书管理系统就毕业了。

之后我开始学 C++,因为感觉跟学校课堂学 C 语言时没学到啥(也可能是我比较菜),所以这次我选择上网自学(比如看圆脸妹妹的 C++ 课堂)。大概学了一个月左右,写了一点简单的桌面程序,我就放弃 C++ 了,转战 Java。一方面是听说 Java 好找工作,好混饭吃;另外一方面当时我可能对学习新语言有点上瘾,就想着多尝试尝试。

刚开始学 Java 就是学基础语法,直到学完我都不知道为啥 Java 好找工作,感觉能做的事和 C++ 差不多。直到后来学了企业 Java 开发,也就是 Java Web,接触了 Spring 之类的框架后,我才感叹到:“Java 真香!”

于是我决定在后端开发这条路上坚持走下去,后来也去学了 SQL(结构化数据查询语言)、Scala 等编程语言。SQL 可是后端程序员的基本功,大家可以用我做的 免费 SQL 刷题网站 多练练。

然后我本来以为今后再也不会用 C++ 了,但听说算法竞赛、保研机试啥的都是它,所以后来就拿 C++ 刷了几百道 OJ 题目。还有个戏剧性的事,打 s 我也没想到最后我的毕设还是拿 C++ 做了个图像处理程序,当时花了一些时间专门学习 OpenCV。

再聊聊其他语言,基本都是有项目需求的时候才会学习。比如我大一学 Python,只是为了完成一个数据抓取 + 可视化项目,听说用 Python 简单、做的快,就学了几天,对照着 Demo 删删改改就搞定了;学 Golang 是因为当时在实验室搞区块链,有个框架是用的 Go 语言;学 C# 也是因为在实验室有个桌面端项目要用。后面项目用不到了,这些语言我也就慢慢陌生了。

对了,还有 PHP!有趣的是,我对 PHP 的印象其实发生了好几次转变。

大一的时候,听说它是世界上最好的语言,我就学了。当时因为也没怎么深入学习过别的编程语言,所以觉得 PHP 挺香的。但后来等前端和 Java 熟练一些,感受到前后端分离开发的优势后,我就有点对 PHP 嗤之以鼻了。

由于性能和安全问题,再加上竞争对手的崛起,近几年来 PHP 也一直呈现衰落之势。目前热度排名 16 位,甚至已经被新兴语言 Rust 超越:

但最近,我却偶尔会神神叨叨一句:“PHP 是世界上最好的语言!”

为啥呢?因为对于需要 服务端渲染 的网页开发场景,PHP 的开发效率的确是高的。

最近我们在做 面试刷题网站 - 面试鸭 的网页端,就特地使用了服务端渲染技术:

所谓的服务端渲染,就是在服务器获取到数据并且拼接好页面后,再返回给浏览器,可以提高页面的加载速度,并且非常有利于 SEO!

但我个人体验下来,开发服务端渲染网站的成本比普通的网站要高很多,我们用的是前端的 Next.js 框架,要专门区分服务端和客户端组件。这个时候,PHP 就乐了:我天然支持服务端渲染!

要不说 PHP 是曾经开发中小型网站的王者呢,知名的博客站点 WordPress 就是使用 PHP 实现。

所以到底什么语言、什么框架最好? 还是要看具体的需求,语言和框架都只是工具。

像华为最近新出的仓颉语言,别的不说,肯定是未来开发华为应用的首选对吧~

 

学太多编程语言的烦恼

看到这,肯定有同学说了:会这么多编程语言,那不是无所不能,肯定很爽吧!

但事实上,编程语言学多了,也让我有了一定的烦恼。

因为每种语言在数据类型、语法和 API 上都有一定的差别,所以会的语言多了后,我时常陷入混乱,把语法给记混。尤其是学 Go 语言的时候,这玩意和其他语言的语法差别贼大,简直让我怀疑人生,大家可以感受一下:

Go 和 Java 语法对比

我刚开始做全栈开发的时候,又要写 Java、又要写 JavaScript,所以就老是搞混,在 Java 中写 JavaScript 的函数,在 JavaScript 中 new Java 的对象。再加上我白天工作用 Mac 电脑,晚上下班用 Windows,开发工具的快捷键也不一样,感觉像是带了痛苦面具。

所以有的时候,我真的很想专注地去写一门语言。

但是,学了这么多语言后,我变秃了,也的确变强了!

所以下面分享下学习多门语言的好处。

 

学多门编程语言的好处

首先,我发现自己摸清了学习语言的套路,无非就是数据类型、流程控制、函数对象和一些特性,因此学新的语言变得越来越轻松快速。比如我之前没有学过 Kotlin,但后来工作中要让我重构 Kotlin 的代码,我没花额外时间去学习,也基本也都能看懂。因为说实在的,绝大多数代码都是 if ... else ... for 组成的业务逻辑。

我学到了更多的设计思想、了解了每种语言更适合做什么,比如什么是解释型语言和编译型语言,有什么区别,又该如何选择。

我看代码时再也不用被语言所束缚,基本啥都能看懂,大家在交流编程语言时,我也有了更多的发言权,啥都能聊两句,也不用再因为争论 “什么是最好的编程语言” 而跟别人打架了。

此外,我在开发时有了更多的选择。比如处理 Excel 表格,如果我只会 Java,那只能用 Java 相关类库,不够方便;但因为我也会 Python,就有了更多类库可以选择,几行代码就搞定了,效率拉满。

最重要的,也正是学了更多的语言后,我才找到了最适合自己的语言,从前端转到了 Java 后端。

 

建议

看到这儿,大家觉得有必要学多门编程语言么?

我觉得,技多不压身,会的语言肯定是越多越好。

虽说可能会有点混乱,但是现在编辑器的语法校验功能都很强大了,所以哪怕语法输错了,也能很快纠正过来,起码比你从零开始学的成本要低。还有一种好方法,干脆就别去记忆语法,熟能生巧,哪怕忘了也可以通过搜索引擎、看文档、问 AI 等方式快速找到正确的写法。

不过千万要记住:无论你想学多少种语言,都要先重点学好一门!一门通门门通,深入理解一门语言后,再学别的就很简单了,很多语法概念、编程经验、调试技巧都是相通的。另一方面是时间有限,把所有语言都学的很好是不现实的,对于找工作来说性价比也是不高的。毕竟想学好编程,语言只是最基础的一部分,还有太多技术、工具、方法、思想要学了。如果什么语言都草草地去学一下语法基础、浅尝辄止,那就相当于是在反复横跳,到头来还是不会做项目,找工作时也会吃亏。

对于刚选择计算机专业或者刚入门的同学,可以多尝试学习不同的编程语言,前端、Python、Java、C++ 都是适合的,尽快找到自己真正感兴趣的语言和方向,之后就一条路坚持往前走就好。

大家最近都在学什么编程语言?最喜欢的编程语言是什么呢?欢迎评论区留言交流~

 

更多

标签:Java,语言,编程语言,十几种,C++,语法,学了,PHP
From: https://www.cnblogs.com/yupi/p/18322550

相关文章

  • 简单芯片测试案例(测试机TR6850S/编程语言:C)
    一、待测芯片测试项分析REXTOUT-100uA-100uAOVC20VQVC0.8VIDD+0.2mA0.8V500VKVS15V二、板卡资源选择1、OVCOVC是一种高达8通道的精密测量板,为设备引脚提供电压/电流,并提供测量功能来测量电压/电流。OVC功能类......
  • 即将被淘汰 这几门编程语言!
    又到了周五了,忙碌了一周,可以放松放松一下了!在科技迅速发展的今天,编程语言的更新迭代速度令人惊叹。从经典的C语言到现代的Python,编程语言不断进化,满足着不同领域的需求。然而,有些编程语言却逐渐淡出我们的视野。你是否好奇,哪些编程语言即将被淘汰? 哪些编程语言正面临被淘汰......
  • 探索Mojo编程语言:AI开发者的新宠儿
    文章目录探索Mojo编程语言:AI开发者的新宠儿一、Mojo编程语言概述什么是Mojo?二、Mojo的安装与配置安装MojoWindowsmacOSLinux配置Mojo三、基本语法与数据类型标量变量数组哈希四、控制结构条件语句循环语句五、函数与模块函数模块六、文件操作与正则表达式文件读取......
  • 当需要在不同操作系统和编程语言环境中共享和处理 XML 数据时,可能会遇到哪些兼容性问
    在不同操作系统和编程语言环境中共享和处理XML数据时,可能会遇到以下兼容性问题:编码问题:不同操作系统和编程语言对于XML文件的默认编码可能不同。如果使用不同的编码方式,可能会导致乱码或无法正确解析XML数据。解决方法是在处理XML数据时,通过指定正确的编码方式来......
  • 全面解析Python:现代编程语言
    引言Python是一种高级、解释型、动态和面向对象的编程语言,由GuidovanRossum于1991年发布。它以简洁、可读性强的代码和丰富的库支持著称,是数据科学、机器学习、Web开发、自动化脚本等领域的首选语言。本文将详细介绍Python的基本概念、高级主题、数据结构、文件操作、模块和......
  • 使用Ni 2代编程语言——实现自然语言编程,近在眼前
    最新版本:2.2.1.20240707_beta概述:这个程序是一个集成了多种功能的代码管理和转换工具,旨在为开发者提供简便高效的工作流程。通过命令行界面,用户可以轻松创建项目文件夹、生成和编辑.n文件,并将自然语言描述的程序转换为Python代码。特别之处在于,它利用先进的AI技术,支持用户......
  • Mojo 编程语言(AI开发者的新宠儿)介绍及安装学习
    关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;推荐专栏《10天学会使用asp.net编程AI大模型》,目前已完成所有内容。一顿烧烤不到的费用,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。干货满满。学成后可......
  • 对谈 MoonBit:AI 时代的编程语言应该是什么样子的?丨编码人声
      「编码人声」是由「RTE开发者社区」策划的一档播客节目,关注行业发展变革、开发者职涯发展、技术突破以及创业创新,由开发者来分享开发者眼中的工作与生活。 本期节目,我们请到了MoonBit的创始人宏波和资深的开发者狼叔作为我们的嘉宾,一起和大家聊聊关于AI时代的编程语言......
  • 思考如何学习一门编程语言?
    一、什么是编程语言编程语言是一种用于编写计算机程序的人工语言。通过编程语言,程序员可以向计算机发出指令,控制计算机执行各种任务和操作。编程语言由一组语法规则和语义规则组成,这些规则定义了如何编写代码以及代码的含义。编程语言的基本组成部分语法(Syntax):语法......
  • Mojo — 适用于所有人工智能开发人员的编程语言
    Mojo语言是一个由人工智能公司Modular推出的全新编程语言,专为AI开发者设计。Mojo的语法与Python相似,但结合了Python的易用性和C语言的高性能,旨在解锁AI硬件的可编程性和AI模型的可扩展性。Modular这个公司则是一个非常年轻的新生AI创业公司,于2022年由ChrisLattner和TimDavi......