我们到底该选择学习哪一门语言?(观点仅供参考)
关于编程语言的选择,我一直认为你选择了什么样的编程语言,就会在以后大概率走上什么样的道路。如果你一开始就把编程语言选错了,你将会走许多弯路,最后不得不回到“正确的道路”。说到这,可能会有人反驳说:“语言只是工具”!确实,语言只是工具,但是你有见到过用 Java 搞科研、用 C 写网站后端的人吗?大概率是没有。
在我的学习历程中,我始终觉得许多人(包括我在内)在一开始并没有对计算机学科建立起比较全面的认识,导致在学习时经常充满迷茫,我该学什么好?这个我需不需要学?我学了这个以后有什么用?带着这些迷茫,一部分人会就此放弃、倒在了入门之前;而另一部分人则会不知所措的学习,看似学过许多技术,但是却始终写不出一个能用的程序。
在接下来文章中,我会就一些常见的编程语言进行讲述,在每一种编程语言的论述中,我都会先讲述它能干什么,然后讲述怎么学习,最后讲述在学习该编程语言的同时你还需要学习哪些内容。
选择了 Java ,也就相当于你选择了在本科毕业之后直接工作。Java 在现阶段最主要的应用就是企业级开发与安卓程序开发。Java并不适合科研,对于想以后考研(从事科研领域)的你没有太大帮助,反而会耽误你学习 Python,而 Python 才是现阶段科研领域所使用的语言。
1) 企业级开发:企业级开发也就是在企业工作,需要一定的技术功底,但是现在校园里大多数人还停留在 Java 的基础阶段,毕业即失业。众所周知,几乎所有的大型网站与软件都拥有后台管理系统,我们的任务就是为前端程序编写后台管理系统。选择了这条路,你会慢慢接触到许多以前在学校从来没有见到过的技术框架、云原生技术(直接在云上开发应用、部署应用),不要指望学校会来教你,学校并不会。主流的开发软件是 IDEA,而不是 Eclipse。
2)安卓程序开发:虽然 Java 也可以用于安卓开发,但是近几年出现新语言 Kotlin 正在慢慢的侵蚀 Java 在安卓开发领域的份额。总体来说,Kotlin 比 Java 更适合安卓开发,不过你并不需要为此焦虑,因为 Kotlin这门语言写起来跟 Java 很像,甚至有人把 Kotlin 称为“另一门 Java 语言”。我的建议是在学习完 Java 之后可以试着入门 Kotlin,把握住安卓未来的发展方向。
当然,在 Java领域要学习的东西不只这么多,以上只是主要的学习线路,其他你还要学习的知识包括但不限于:Git、HTML/CSS/JavaScript、HTTP协议、TCP/IP协议、Linux、mysql、Mybatis、redis、mongoDB、Nginx、RocketMQ、Docker、Kubernetes。
Python 是一把科研的利器,对于以后只想考研的同学大有裨益。在我看来,Python在现阶段主要应用领域为科研与大数据分析,少部分应用在 web 应用开发、游戏开发。主流的开发软件是 PyCharm。
1) 科研:科研 = 从事研究工作,这是想考研的同学避不过去的一道坎。Python 近些年来在人工智能领域大放异彩,自然也成为了从事科研人员的首选语言。人工智能研究包括自然语言处理、物联网开发、自动化推理等,这其中会涉及到很多算法(数学),对于没有兴趣的小伙伴可能会觉得异常痛苦,有兴趣的则乐在其中。在这里,由于我不熟悉科研领域的相关学习路线,所以不给出直接的学习路线建议。
2) 大数据分析:大数据分析主要涉及到爬虫与数据分析。与科研不同,这条道路未来的方向是就业,主要从事企业级数据分析与自动化流程开发等。
当然,在 Python 领域要学习的东西也不只这么多,其他你还要学习的知识包括但不限于:Git、HTML/CSS/JavaScript、HTTP协议、TCP/IP协议、Linux(重点)、mysql、mongoDB、网站爬虫、抓包。
C、C++ 与 C# 其实是三门不同的语⾔,但可以把 C++ 与 C# 看作是 C 语言的两个不同分支。现阶段 C 的主要应用领域在于底层开发,针对操作系统层级;而 C++ 不仅在底层开发有所应用,而且在游戏开发领域也是领头羊,对于以后想从事游戏开发的小伙伴,C++ 绝对是你的首选;C# 在现阶段的主要应用领域是桌面软件开发,也就是为电脑开发软件,目前国内主攻这一方向的公司较少,大多数是外国公司。
JavaScript 跟 Java 两者名字虽然相似,但其实是两门不同的语言,关于他俩之间的具体关系,这里不作过多介绍。JavaScript 目前的应用领域很广,既可以作前端开发(如网页开发、小程序),也可以作后端开发(如 NodeJS),是当下开发领域比较活跃的一门语言。
学习 JavaScript 会首先接触到三大组件“ HTML/CSS/JavaScript ”,这三门技术合在一起就是整个前端开发的基础、重中之重。三大组件入门很容易,但是想要精通却并不容易,尤其是在前端开发中会涉及到许多关于“美”的定义,需要开发人员具备一定的审美能力。在这里,你将接触到像 Vue.js、React这样好用的框架,主流的开发软件是 VScode、WebStorm。
总结:Java 适合企业级后端开发与安卓程序开发,Python 适合科研与大数据分析,C/C++ 适合底层开发与游戏开发,C# 适合桌面级软件开发,JavaScript 适合前端开发(网页、小程序类)与轻量级的后端开发。
有很多博文介绍了ROS技术细节,却鲜有记录ROS在真实机器人上的开发过程,所以笔者希望假借最近手头正在开发的项目,围绕该项目,记录开发过程中的可以公开的技术细节、工程细节以及遇到的挑战,算是一次心路历程的记载,写给自己也供同仁参考!0.项目需求笔者暂时负责的部分是一个机械臂的运动规划和运动学部分,暂时不涉及到机械臂的动力学。通俗来说就是给我一台机械臂,我需要实现的功能是——提供给机械臂一个...
mysql查询出现:mysql 126, "Incorrect key file for table '/tmp/#sql_597e_1.MYI'; try to repat it原因是:执行mySQL产生临时数据占满了/tmp磁盘空间的解决办法当mysql的临时文件大小设置太小,或者由于并发量太大导致临时文件存放的目录空间大小不够时都会报这个错误。”incorrect key f
overflow属性 hidden scroll autohidden 超出隐藏scroll 滚动条Auto自动display属性 block inline inline-block noneBlock块显示inline 按行内显示inline-block 双重作用。既有行的特点又有块的特点在一行内显示,又具有宽高。None不...
一、现状及说明1、目标两台服务器,分别安装了MySQL数据库,需要从一台主服务器(master)Windows Sevver 2008R2操作系统,将数据同步到另一台从服务器(slave)CentOS7操作系统上,实现异地备份。2、服务器信息主服务器IP:192.168.1.10从数据库IP:192.168.1.20注:两台服务器之间的数据库结构必须一致,否则无法构成同步。二、配置mastermaster是Windows Server服务环境,所以配置文件是安装目录下的my.ini
本文发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载; 甚至无需保留以上版权声明…对于编程重要性的感悟来自于李笑来老师关于他一本...
noip2002-麦森数 2008.11.4心得:在变程序前,一定要对题目进行彻底的分析,为了减少时间,就要减少机器的运算次数,要抓住特点进行转化。例如这道题:2^p转化为高精度乘高精度和高精度乘单精度,先平方,再根据余数进行乘法计算。先乘方,就减小了加法和单精度乘法的运算次数。Program1:赤裸裸的模拟—超时5组program mason;const fin='mason.
前言: GO语言追求简洁优雅,GO语言不类似try catch操作 GO语言中引入的处理方式为:defer、panic、recover GO可以抛出一个panic异常。然后在defer中通过recover捕获异常再处理GO没有提供“try-catch-finally”这样的异常处理机制,然而是提供出panic和recover,当然panic写recover还要结合defer使用。虽然对于其他语言转型的大家一开始会有点不适用,甚至会有征讨之声。但个人感觉,这才是go,这很go。我们先
JDK1.6官方下载_JDK6官方下载_JDK1.6API(chm)下载_JDK6APICHM中文参考下载_JDK1.6下载_JDK6下载 ...
背景项目中需要对网页的 UI 操作设置快捷键,但是我们的开发机是 Mac,用户使用的是 Windows。所以开发起来遇到一些小小的坑。现在我们来梳理下这些知识点。基础知识网页上要设置快捷键最基础的做法一般是监听 keydown 事件,然后通过监听函数参数获取一些按键相关的属性来判断用户按了哪些按键: document.addEv...
1 问题描述如今生活水平提高,大家都喜欢在假期中到一个旅游景点参观,在旅游景区中经常听到游客打听从一个景点到另一个景点的最短路径和最短距离,这类不喜欢按照导游图来游览的游客常常需要一个景区管理系统来挑选自己喜欢的旅游景点,再规划一个最短路径和最短距离来游览,一边节省时间跟提高旅游效率。建立一个景区旅游信息管理系统,实现如下功能:创建景区景点分布图通过一个邻接矩阵(实质是一个二维数组,m[i][j]...
1、当你成为程序员1,2年之后,你发现这个职业没有给你带来任何惊喜,并且你也丝毫不感兴趣,就是为了生活而去写代码,建议你赶紧放弃。2、趁不用赡养父母,趁没有小孩,趁没结婚,趁家里不逼你结婚,赶紧学习,不要以为你的程序生活才刚刚开始程序之路还长,实际上我们这行业里只有年轻人。以前我也是很执着,我准备把这个职业当成一辈子的事业,别人总说程序员就是吃青春饭的,可我就觉得这是对程序员这个称呼的...
本来以为HNU的huicpc035和我一样退役了,后来听说他组成了新的footman队,于是又关注了下他。035体现了两个我觉得非常重要的品质:1、刻苦的训练2、有效的训练(本文将主要讨论个人训练,不讨论团队合作)而这些品质对于我们弱校ACMer选手水平的提高我觉得很重要。刻苦的训练我打算最后稍微提一下。主要说后者:什么是有效地训练?我想说下我的理解。很多...