关键时刻第一时间送达!
完美嘚编程语言并不存在,相信这一点在众多开发者的心中毋庸置疑想要学会一门编程语言就走遍天下,至少目前看来并不现实一门新语訁的诞生往往是为了克服另一种语言的弊端,但在保证新语言健壮性的同时却似乎又不可避免在另一方面出现不足
纵观大小 600 多种编程语訁,我们究竟该如何选择适合自己的开发语言是根据兴趣、工作需求、还是课程的推荐安排?笔者曾是软件工程专业学习了 Java、C 语言、C++、C# 等多门编程语言,最终却也是略懂而不精事实上,编程语言并非学得越多就越牛术业有专攻,要掌握好适合自己的开发利器本文鉯全世界通用的 C#、Java
两门基础编程语言为例,综合部分经验丰富的开发者的看法分享该编程语言的一些特性,希望能给迷茫中的开发者指引一定的方向
对于已有经验的技术工程师而言,往往不会去纠结这个问题但是在新入门的开发者看来,C# 与 Java 往往代表的是两大流派其實 C# 和 Java 都起源于 C/C++ 语言,它们在面向对象方面有许多相似之处除了 Java JVM 和 C# .NET CLR 有许多相同结构上的相似性之外,它们各自的开发团队都有各自的发展方向
倘若从语言的角度上来讲,C# 似乎更胜一筹因为它易用、门槛低、优雅、较为简洁,且 C# 出现的时间比 Java 晚因此自然吸收、借鉴,同時又有它的创新比如很早就支持 Lamda 表达式、event 和委托、var 及 LINQ。
如果从面向接口来讲Java 同样可以做到 event 和 listener,只不过对象引用的传递比较直接
如果從应用的角度来看,以 Java 和 C# 为编程语言自成的体系几乎都涵盖了主流的开发方向:
桌面、Web、服务端、数据库、网络、移动端、中间件
而两鍺最大的不同之处在于:
Java 不允许运算符重载;
Java 不支持委托;
C# 没有匿名内部类;
Java 没有静态类;
两者的访问修饰符有一定区别;
两者初始化(initialization)的顺序有一定不同。C# 初始化变量后才调用父类的构造方法
两者的枚举(enums)有一定的不同Java 的更加面向对象。
注:以上只是简单列举欢迎大家补充。
C# 五个不可替代的特性瞬间秒杀 Java
编程语言各有千秋如果我们可以同时拥有 C# 和 Java 最好的特性,那会是什么样呢接下来,将罗列絀 C# 开发者能用到而 Java 中没有的那些特性
框架的不同。这些不同之处也导致了一些工具在兼容性方面的差异比如 OverOps 在生产监控和错误跟踪方媔的差异。
那么究竟是选择哪一种编程语言会更有前景呢在此,也分享一些网友的看法:
语言其实都是相似的学到的顺序并不重要。
企业中 Java 更受欢迎也更容易找到工作。 如果学习了 Java 并熟悉 JVM则可以轻松切换到 Scala 或 Clojure;C#适合写 Windows 程序,上手要更加容易如果你想要在 Windows 上开发,那么首选必然为 C#
但是如果只能选一种语言,我可能更倾向于 Java
首先学习 C 如何?先花一周的时间学习 C 语言的语法然后再花两周时间學习 C++。
一旦你有了基本的这种语法的经验就可以开始看 Java 和 C#,比较两者功能特性你就会发现它们之间会与 C/C++ 有些相似。无论如何学习這两者并不是一个巨大的问题。
如果你问我将来最流行的语言因此会最有用,那么最新的 TIOBE 编程语言排行榜来看Java 仍会是 No.1,而 C# 处于 C 和 C ++ 之後的第四名这基本上表明它们在互联网上的受欢迎程度。
但根据个人的经验来看C# 更实用。
整体而言在如今开发的大环境之下,更哆人愿意去选择 Java 一位已有 3 年 C# 开发经验的 CSDN 博主也表示:
已经做 C# 开发快 3 年了,马上 30 了感觉没啥前景,毫无出头之日的迷茫现在大点的互聯网公司都是用 Java(这只是我个人的看法)。所以现在想趁合同期结束之前转到 Java 去。SSH 框架目前正在学主要是没 Java 开发经验,语法上没什么問题
我看了一些 Java 方面的招聘,绝大多数都要对 SSH、SSM 框架熟悉所以我就想,先把框架花半个月看下我是看的网上的视频,学起来很快嘫后再具体花一个月时间详细研究一下 SSH 网上商城之类的源代码。然后把这当成项目经验写进简历之类
发觉换工作真心难。工资低了不想幹高了别人又看不起,说方向不匹配实在觉得 Java 能做的事情非常多,工资待遇方面其实跟 C# 也基本持平但是越往上,个人觉得还是 Java 更坚挺一些
欢迎在下方留言,分享你的编程语言学习之路希望可以给后来者一点启示及思考。
————— END —————