疫情在家办公,变上班边学点 Java,感觉 Java 的语法和逻辑真是严谨,以前自学 python 时好多不懂的概念通过学 Java 全都弄明白了。
以后推荐初学者学编程是不是都应该先推 Java,感觉 python 语法太松太灵活,不适合理解一些抽象概念。
1
noreplay 2020-03-10 18:39:11 +08:00 via Android 1
不是学 c 吗?
|
2
szxczyc 2020-03-10 18:40:41 +08:00 via iPhone
无脑推 Python ( ・ω・)=つ≡つ 打你
|
4
manami 2020-03-10 18:44:45 +08:00 via Android 14
学了 go 感觉 java 一点都不香
|
5
noreplay 2020-03-10 18:45:10 +08:00 via Android
@ahuanggg 不会的。学 c 有个大致印象,然后再转到 python,js 之类的,还不是美滋滋。
|
6
BSC5622 2020-03-10 18:46:40 +08:00
学 C++吧 会感觉语言更加精妙
|
7
tt67wq 2020-03-10 18:50:44 +08:00 via iPhone 17
看你一副没见过世面的样子! java 也叫香? golang kotlin elixir rust csharp
哪个不比 java 香? 就 java 这种罗里吧嗦的东西看着就恶心 |
8
cedoo22 2020-03-10 18:52:24 +08:00 4
我觉得 python 最香
java 是一座山,你想爬上去,要先组装一辆车, 先找轮子 再找方向盘 再找离合, 而且这些零件时不时要自己改进。 python 是 直接给你辆自动挡的悍马,学会踩油门就行,当然后期可能到爬不上去到时候也要你自己造车。 |
9
miao666 2020-03-10 18:53:15 +08:00 via Android
你要是学了世界上最好的语言_____,你会觉得其他语言都失去了颜色。
|
10
Mithril 2020-03-10 18:54:02 +08:00 2
你可以学学 C#试试。。。
|
11
1490213 2020-03-10 18:56:50 +08:00 via Android
还可以学学 LISP,再看点 Haskell, 打开新的世界。
|
12
keith1126 2020-03-10 18:58:02 +08:00 4
「好多不懂的概念」来自于计算机基本功,比如数据结构、算法、操作系统等等,而不是某门语言。
|
14
InkStone 2020-03-10 19:00:52 +08:00
要说香,我觉得 Scala 和 C++比 Java 香多了……涉及的抽象概念也丰富多了。
|
17
AcoStory 2020-03-10 19:03:47 +08:00
都啥年代了还学 java
|
18
brendan 2020-03-10 19:04:50 +08:00 via iPhone 1
一上来就学底层东西会导致一直在学基础内容,最后就放弃了
|
20
arloor 2020-03-10 19:13:37 +08:00 9
java 还是香的,虽然会有一些很啰嗦的东西,但是很严谨,而且这种啰嗦在 jdk8 及以后版本在不断缩减
说 go 香的,我觉得他的错误处理和没有泛型会导致更加啰嗦 上面列 golang kotlin elixir rust csharp 的人,太博学了 python 太野了,会伤到自己 |
21
AngryPanda 2020-03-10 19:15:59 +08:00
以前自学 python 时好多不懂的概念通过学 Java 全都弄明白了
-------------------------------- 比如? |
22
ahuanggg OP @AngryPanda 比如面向对象这块,我觉得 java 的逻辑就比 python 要清晰
|
23
bwangel 2020-03-10 19:22:10 +08:00 14
「好多不懂的概念」来自于计算机基本功,比如数据结构、算法、操作系统等等,而不是某门语言。
--- 这种言论很扯淡,每个语言都有自己的特性,这些特性会让每门语言衍生出各自的独特写法,长期沉浸在一门语言中,必然会对其他语言的一些概念不熟悉。 推荐看: https://zhuanlan.51cto.com/art/201903/593116.htm |
24
wmhx 2020-03-10 19:28:14 +08:00
某些语言一个 var 来定类型, 然后很多代码后,你都忘记了具体是什么类型, 然后报错与否全看天意; 虽然 java 也有了这个 var, 但真真的很恶心, 特别是看人家的代码.
|
26
TangMonk 2020-03-10 19:32:01 +08:00 6
C#比他香
|
27
cdlnls 2020-03-10 19:39:19 +08:00 via iPhone 2
学了 Python 之后再看 Java,确实也有这种感觉,要是再继续学 kotllin 你会发现 kotlin 更香。
一圈轮下来,最后发现还是 Python 香。 |
28
crella 2020-03-10 19:40:37 +08:00 via Android 2
我认为 c#最香,可惜我学不会(懒得找轮子)
|
29
james122333 2020-03-10 19:48:41 +08:00 via Android
老实说 一点也不香 命名悲剧 修改困难 某些实现运作联想不到 反射就是反人类 好的代码习惯才是真 没多余代码才是好 什么严谨都是假的 好维护才是真的 不要本末倒置
|
30
loshine1992 2020-03-10 19:52:53 +08:00
Java 非常适合作为第一门语言
之后转其它语言都非常简单。 |
31
brendan 2020-03-10 19:54:33 +08:00 via iPhone
@ahuanggg 我想说的是 java 要学东西真的太多了,你要学很多东西之后才能做出一个项目出来。很多人学到一半就放弃了。
|
32
softtwilight 2020-03-10 19:55:54 +08:00 14
语言真是永远的话题。学了 java,懂了一些东西,开心,表示很香,多好的一件事
|
33
TypeError 2020-03-10 19:57:41 +08:00
我还是看 kotlin/go 算了
|
34
masker 2020-03-10 19:59:39 +08:00 via Android
不懂的概念怕是自己当时不懂没有去资料搜索吧?怪语言了吗?
|
36
littlewing 2020-03-10 20:07:02 +08:00 via iPhone
骚年 学 gi 吧
|
37
littlewing 2020-03-10 20:07:10 +08:00 via iPhone
@littlewing go
|
38
yulihao 2020-03-10 20:08:32 +08:00
我一开始学 VB,然后 C++,现在仍然 C++,偶尔用 C#。没有学 Python,不过打算偶尔学一下 Pythom,主要 C++(毕竟还是高中生)
|
39
james122333 2020-03-10 20:14:36 +08:00 via Android
@cedoo22
用过别人开发的就知道了 这不是组装 为何元件内拆卸困难重重 |
40
zhuangzhuang1988 2020-03-10 20:20:37 +08:00
没办法,
python 有"人生苦短"宗教 一遍遍洗脑 写完一个月后, 看自己代码都不知道是啥, 参数应该传啥, 更不要说 看别人代码了 |
41
watzds 2020-03-10 20:25:24 +08:00 via Android
以前学了多年 c/c++,最终还是写 java 了
|
42
abcbuzhiming 2020-03-10 20:29:24 +08:00
@brendan Java 要学的东西还多啊?你要不要试试用 C++做项目,那才叫多
|
43
james122333 2020-03-10 20:31:37 +08:00 via Android
|
44
Athrob 2020-03-10 20:34:16 +08:00 2
C#: ?
|
45
brendan 2020-03-10 20:35:16 +08:00 via iPhone
@abcbuzhiming 纯学个 java 能做什么?不把 j2ee 学完? j2ee 东西还不算多?
|
46
cosmic 2020-03-10 20:44:24 +08:00 via Android 2
Java 太罗嗦了,C#作为工程语言,写起来顺手很多
|
47
james122333 2020-03-10 20:49:20 +08:00 via Android
@cosmic
一模一样的路能有什么改变... |
48
murmur 2020-03-10 20:57:10 +08:00
这就对了,java 主要是名字就比其他语言好,java 加瓦,添砖加瓦,说明 java 是大型项目的基石
|
49
pursuer 2020-03-10 21:04:37 +08:00
Java 确实在现代语言中不算优秀,kotlin,c#,ts 等特性更丰富,表达能力更强,Go 现在没泛型,if err!=nil,热更新半残的状态,我觉得总体比 Java 还差点意思。但是 Java 没有协程方案,Project Loom 不知道要等到什么时候才上了
|
50
augustheart 2020-03-10 21:18:47 +08:00 2
不考虑面向工作学习的话,c#各个方面都比 java 漂亮多了……
|
51
t2doo 2020-03-10 21:20:58 +08:00
java 中的多态,内部类,确实香 :doge
|
52
exploreXin 2020-03-10 21:30:50 +08:00 24
如果条件允许,时间和精力足够充裕,正统的学习流程应该是:C 语言,之后 C#, Java, C++三选其一学一个,其中如果学 C++请选择一个适合自己工作背景的最小的特性集学习,之后脚本语言 php , python,ruby,perl,这几个脚本语言学下来基本上去中小型企业找工作都十拿九稳了,再之后想学就是返回来学习 C 语言的前辈,汇编语言,再加上一点硬件知识和计算机体系结构的学习,这时你会发现万能的 C 其实也不是能力最强大的,C 只是汇编的高层抽象与封装,汇编的世界里是很神奇和强大的,几近可以为所欲为。到这里,学了一圈回到 C,现在命令型和面向对象语言基本已经了解的差不多了,再想学的话,接下来就是突破范式的壁垒,去研究一下函数范式,JavaScript 可以当做入手语言,注意 JavaScript 只是具有函数特性的命令范式语言,并不算是真正的函数范式,之后可以尝试学习 Lisp 及其方言,Coljure,Scheme 等真正的函数式编程语言,或者如果想体验纯函数式不掺杂一点杂质的学术性语言 Heskell, 也是可以的。如果到这里还有精力,可以了解逻辑范式的编程语言,prolog 是其中的代表,如果不想深入人工智能领域的工作岗位,可以点到为止,尝尝鲜就好了。至此,四大范式:命令型,面向对象,函数式,逻辑式,已经全部有所领略。这时的你,会发现已经获得了七天精通任何一门编程语言的能力,虽然编程语言总共有数千种,并且还在一直增加,但是大体的范式与特性在常见编程语言当中都有所实现,重要的不是学会全世界所有的语言,重要的是领悟编程语言背后共通的编码原则与设计哲学,这些看似神仙般原则与哲学,才是回报收益率最高的。另外提一下,接触的语言越多,学习的速度会越快,并且会指数倍的向上提升,那种融会贯通,高屋建瓴的领悟能力,是自己领略之后,才能体会到其中的乐趣与震撼的,不要被上面一大堆语言吓倒,只要喜欢编程,不管是谁都是可以去学习与探索的。
|
53
ahuanggg OP @exploreXin 厉害了👍
|
54
ironMan1995 2020-03-10 21:36:13 +08:00
我是自学前端工作两年多了,现在自学 Java 最近跟着 Mooc 上翁恺老师的课学习然后跟着练习,另外就是看 Java 核心技术卷一(11 版),不知道这个学习过程对不对?请教下老哥们
|
55
xuhaoyangx 2020-03-10 22:00:00 +08:00
|
56
fihserman123 2020-03-10 22:03:18 +08:00
科班出身选 C++,非科班选 Java。
|
57
ExploreWay 2020-03-10 22:05:15 +08:00
还是看实际需要学习,现在不少大公司开始用 go 了。
|
59
ArianX 2020-03-10 22:29:27 +08:00
几次学 java 都没耐心学下去,太罗嗦了
|
60
n2l 2020-03-10 22:38:06 +08:00 via iPhone
没人说 swift 么……
|
61
chanchan 2020-03-10 22:38:26 +08:00 1
我觉得其实真正的学习编程语言的顺序是按语言的特性来,从最常见的变量 赋值 语句 /表达式 函数 循环 /递归.. -> 面向对象 -> 函数式编程 + 各种高级点的特性 /概念,什么泛型 闭包 模式匹配 GC 宏 continuation CPS currying.
大部分人脑袋里想的先学 C,其实学的不只是 C 语言还有一堆计算机科学之类的东西 |
62
nl101531 2020-03-10 22:39:13 +08:00 1
|
63
shanex 2020-03-10 22:41:22 +08:00
@exploreXin 👍
|
64
GrayXu 2020-03-10 22:49:11 +08:00 via Android
说明 python 没学好…
|
65
yannxia 2020-03-10 22:54:38 +08:00
Java 中规中矩,刚好适合理解大部分的设计理念。
|
66
DefoliationM 2020-03-10 23:09:01 +08:00
java 像裹脚布一样,写起来啰哩啰唆,如果有机会可以尝试一下 kotlin.
|
67
james122333 2020-03-10 23:36:53 +08:00
@exploreXin
人脑计算? (滑稽) |
68
charlie21 2020-03-10 23:46:26 +08:00
Java 作为企业级软件开发的第一语言 自然有它的道理
|
69
ml444 2020-03-10 23:50:58 +08:00
我只说两件事:
1HTML 是一门编程语言!!!! 2PHP 是世上最好的语言!!!! |
70
witcherhope 2020-03-10 23:59:18 +08:00 via iPhone
@DefoliationM 写过一个项目,感觉 Kotlin 并不比 Java 少多少代码,简洁多少
|
71
AM2coder 2020-03-11 00:03:02 +08:00 via Android
初学者应该选 python。编程在于兴趣,有了兴趣才能推动你向更高、更深层次迈进。而 python 是最能在短期内带给人成功快感的语言,没有之一。另外,python 真香!!
|
72
1002xin 2020-03-11 00:12:06 +08:00
现在看见 java 就有点恶心心
|
73
RobberPhex 2020-03-11 00:56:15 +08:00 via Android
loom 还没出,java 的异步编程还是比较难用的
|
74
ericgui 2020-03-11 01:06:00 +08:00
楼主+1
我也觉得 Java 比动态语言好 所以我准备学 C++了 |
75
longjiahui 2020-03-11 01:06:13 +08:00
不喜欢 java
|
76
LokiSharp 2020-03-11 08:01:00 +08:00 via iPhone
@DefoliationM Kotlin 和 Java 半斤八两把。。。
|
77
LowBi 2020-03-11 08:07:27 +08:00 via Android
一点都不香,还很繁琐
|
78
AmrtaShiva 2020-03-11 08:17:31 +08:00 2
@ahuanggg 面向对象逻辑我觉得 C#更好
|
79
blless 2020-03-11 08:57:25 +08:00 via Android
我觉得都香,但是现在觉得 go 香,我先自学 c,完全不得要领,学了 java 对面向对象程序工程豁然开朗。再学 go,发现对 c,对内存,硬件了解更多了。
|
80
alya 2020-03-11 09:04:43 +08:00 1
我觉得 scala 更香
|
81
jiom 2020-03-11 09:06:41 +08:00
python 不香吗~哈哈哈哈哈~
|
82
zjsxwc 2020-03-11 09:09:13 +08:00
c++20 真香
|
83
Perry 2020-03-11 09:09:52 +08:00
上学的时候我是这么学过来的:
python -> Java -> 汇编( MIPS,自定义 instructions ) -> Scheme -> C |
84
cabing 2020-03-11 09:16:11 +08:00
我的路线是 c->php->java/go->c++ :) java 除了啰嗦点,库真是香
|
85
crc8 2020-03-11 09:19:03 +08:00
@ironMan1995 看不少人推荐翁同学的课,看了 10 来节,实在看不下去,不对胃口。可能只适合年轻人
|
86
WebKit 2020-03-11 09:19:27 +08:00
你们说了这么多。。工业级的语言,而且还大范围使用的目前除了 java 还有那个能打的?为什么一些人一上来就鄙视 java...繁琐也是 JDK1.7 之前了吧。JDK1.8 后一直在改进。JDK1.7 前 go Python 才刚刚起步
|
87
pythonee 2020-03-11 09:20:28 +08:00
以前看到一个比喻
JAVA 是正妻 Python 是小三 |
88
pythonee 2020-03-11 09:21:52 +08:00
|
89
kanezeng 2020-03-11 09:22:38 +08:00 1
之前不懂的概念现在懂了这种情况很正常,尤其是自学的人。好比有的事情看第一本书时还是有点蒙,换一本接着看有时就有豁然开朗的感觉。但是这并不代表后者就一定是比前者好,很多时候是前者搭了 80%的基础,后者正好从某个适合自己的方向推了一把让你解锁了某方面成就而已。两手都要抓,两手都要硬,二者是相辅相成不可分割………………(对不起,走错片场了)
|
90
Hoshinokozo 2020-03-11 09:27:03 +08:00
我说 JS 香会被打么。。。我是 C#转 JS 的,C#的确很优雅,但是限制的太死了,JS 用起来真的爽(一旦出事也很爽 23333 )
|
91
Marsss 2020-03-11 09:35:30 +08:00
觉得 python 没学好+1
|
92
afirefish 2020-03-11 09:37:12 +08:00 2
不是面向工作编程的话,建议 C#.......你会认识到现代化语言的魅力......
|
93
huage2580 2020-03-11 09:37:29 +08:00
怎么讲呢,Java 真又长又臭,但是可以限制住新手,按着最低限度规范来写。那些脚本语言吧,下限低,入门快,规范全靠自觉,甚至没那能力做完整的面向对象。成熟以后,大家都喜欢快的,写的快,运行快。
|
94
sonyxperia 2020-03-11 09:38:33 +08:00
楼主别听楼上的几位瞎逼逼
Java 的好处就在于语法简单,配合上 ide 这样的开发工具,你在写代码的时候很少出现语法错误,只要专心实现业务功能即可 这也是 Java 为什么流行的原因 至于楼上说的其他语言,你看过就行了。 |
95
newmlp 2020-03-11 09:57:11 +08:00
Java 只适用于工作
|
96
AmazingEveryDay 2020-03-11 09:57:41 +08:00
面向工作编程 学个 JAVA 没毛病
基本功和语言其实不是完全强关联的 看的多了 你会发现内核都是 基本语法+面向对象(可选)+高级特性 是从语言去了解这些基本的概念 而不是反过来 |
98
BBCCBB 2020-03-11 10:05:00 +08:00
Java 是真的稳!
|
99
guolaopi 2020-03-11 10:08:16 +08:00 2
我选 C#,虽然现在工作行情不好。
但是 linq 和语法糖足以让人坚持下去。 @pythonee #88,语法糖就不说了,linq 了解下,操作集合不要太爽。 离了 linq 写代码总觉得哪别扭,跟不会写了一样。 |
100
ackfin01 2020-03-11 10:08:37 +08:00
看看 clojure lisp,才觉得更 6
|