V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ahuanggg
V2EX  ›  Java

初学 Java ,表示真香!

  •  
  •   ahuanggg · 2020-03-10 18:37:22 +08:00 via iPhone · 19777 次点击
    这是一个创建于 1723 天前的主题,其中的信息可能已经有所发展或是发生改变。

    疫情在家办公,变上班边学点 Java,感觉 Java 的语法和逻辑真是严谨,以前自学 python 时好多不懂的概念通过学 Java 全都弄明白了。
    以后推荐初学者学编程是不是都应该先推 Java,感觉 python 语法太松太灵活,不适合理解一些抽象概念。

    172 条回复    2020-04-27 09:31:44 +08:00
    1  2  
    guolaopi
        101
    guolaopi  
       2020-03-11 10:10:24 +08:00   ❤️ 1
    @guolaopi
    另外,抛开语言什么的不说,
    找工作时 java 人均百万并发的要求看的我反胃(虽然是自己菜
    KnightJoker
        102
    KnightJoker  
       2020-03-11 10:11:14 +08:00
    没有人觉得 PHP 真香的嘛?(狗头
    SteveAlan
        103
    SteveAlan  
       2020-03-11 10:12:40 +08:00 via iPhone
    学 python,double 香
    harchiko
        104
    harchiko  
       2020-03-11 10:12:44 +08:00   ❤️ 2
    跟楼主想法一样,很多概念学了 Java 之后才理解。也是 python 开始入门的,但用了一段时间 Java 之后才觉得自己会编程。

    不过 Java 类型限制不够灵活,现在用 go 表示也挺香的。
    coer
        105
    coer  
       2020-03-11 10:12:53 +08:00 via iPad
    @newmlp 看 R 大的回答,好像还真有可自举 jvm
    simo
        106
    simo  
       2020-03-11 10:12:59 +08:00
    常用语言精通一门,触类旁通。别跳来跳去就好,常用的开发领域,语言差异会越来越小的
    zhiguang
        107
    zhiguang  
       2020-03-11 10:13:07 +08:00
    我是学了 vue 才对 后端的 mvc 模式豁然开朗
    guolaopi
        108
    guolaopi  
       2020-03-11 10:13:18 +08:00   ❤️ 1
    @guolaopi
    而且抛开语言特性之类的不说,
    每次看到 java 招聘要求都是人均百万并发的经验,
    就 TM 反胃(虽然跟自己菜有关系
    guolaopi
        109
    guolaopi  
       2020-03-11 10:16:44 +08:00
    卧槽 V2 刚刚怎么了,回复发不出去
    coer
        110
    coer  
       2020-03-11 10:16:57 +08:00
    在一堆程序员中我从来不说 java 真香,哈哈哈哈
    amwyyyy
        111
    amwyyyy  
       2020-03-11 10:18:18 +08:00
    Java 真的香,容易写出稳定的代码,其它语言虽然有各种强大的特性,但是不是每个人都能玩得转,在能力参差不齐的团队很容易引火上身。
    casillasyi
        112
    casillasyi  
       2020-03-11 10:39:57 +08:00   ❤️ 1
    2020 年了,还有这么多语言黑,鄙视链。遗憾。
    wind3110991
        113
    wind3110991  
       2020-03-11 11:50:01 +08:00
    C++和 Java 都可以,面向对象的语言精通一门就够了,有空再研究下 golang,打开新世纪
    zhw2590582
        114
    zhw2590582  
       2020-03-11 11:56:13 +08:00
    我大 JS 无所畏惧
    wozhizui
        115
    wozhizui  
       2020-03-11 12:02:43 +08:00
    同感啊,我当时入门学的 js 和 python,现在 java 和 C 都用了一点,确实不一样。还是严格点的语言好点,初学者直接上 python 有可能误入歧途。
    augustheart
        116
    augustheart  
       2020-03-11 13:06:49 +08:00
    @pythonee 写写 java,然后再写写 c#,很容易就能感受到时代的进步了。
    我的亲身体验是相反的,我先学会的是 c#,那时候一直觉得 c#和 java 差不多。后来学 java 的时候边学边骂:"这什么破语言",“现在已经 20xx 年了”。
    大体感受就相当于我这个整天写 c++的人要被逼着离开 class 离开 raii 去写 c……
    nianyu
        117
    nianyu  
       2020-03-11 13:13:43 +08:00
    我也不知道为啥学个 java 语法就大呼什么严谨
    Mithril
        118
    Mithril  
       2020-03-11 13:24:07 +08:00   ❤️ 2
    @pythonee 简单的甜头和语法糖随便一搜都有。最简单的比如万年吐槽的 getter 和 setter。不过实际上说 C#设计的好,不只是这些语法糖。很多地方,比如 API 的设计,你得亲自写上一段时间代码才能体会得到。很多人说的行云流水的感觉,多数源自于此。因为大部分库都是 Microsoft 自己写的,设计思路都很一致,而且质量相对有保证。但是 Java 大部分库都是各种组织开源的,设计思路并不一定相同。而且很多库设计的没那么好,用起来很别扭,有的注释写的少,你只能去查文档,文档还不一定更新。
    Java 和 C#我都写,Visual Studio,Resharper 和 Idea 也都在用。虽说 Java 生态比.NET Core 好太多,但是如果让我自己写个项目自己选技术,那我肯定选 C#。Idea 辅助下的 Java 已经好写很多了,但是比起 VS+Resharper 加持的 C#的水平还是差得远。
    t2doo
        119
    t2doo  
       2020-03-11 13:36:04 +08:00
    各位 Java 大佬能指点一下萌新嘛,刚开始看 CoreJava,这个 foreach 中的 Employee 是啥意思?谢谢啦
    http://chuantu.xyz/t6/723/1583904879x1033347913.png
    augustheart
        120
    augustheart  
       2020-03-11 13:41:25 +08:00
    @nianyu 感觉 java 语法严谨确实没毛病啊,比如你看那个 try……
    xxdd
        121
    xxdd  
       2020-03-11 13:49:28 +08:00
    @t2doo 底下的 class Employee 员工类
    t2doo
        122
    t2doo  
       2020-03-11 13:50:10 +08:00
    Java 学到哪步才要开始学怎么部署啊,真难学,比 PHP 难多了。Servlet->Maven->Spring,要学到什么时候才能开始写个网页哩?
    Java 真难削
    http://chuantu.xyz/t6/723/1583905639x1031866013.png
    augustheart
        123
    augustheart  
       2020-03-11 13:51:27 +08:00
    @WebKit 全球范围内大范围使用的工业级语言,虽然 java 算是第一位,但是 c 在榜单里面一直是第二位,.ne 的地位也是挺牢的。虽然 c++经常不被待见,不过份额也是不小的。重要的是:这几位都能打……
    当然,某些榜单里面 javascript 才是第一的,其它往后顺延。
    augustheart
        124
    augustheart  
       2020-03-11 13:53:06 +08:00
    @t2doo 按我同事的经历,一个月内连带学 java+框架然后顺利转岗写 java 去了。
    呃……她之前是写 c++的,主要用 qt
    ajaxfunction
        125
    ajaxfunction  
       2020-03-11 13:55:25 +08:00
    抛开性能,php 永远是世界上最好的语言 [狗头]
    yolee
        126
    yolee  
       2020-03-11 14:00:02 +08:00
    你可以看看 C#,比 java 更香
    DefoliationM
        127
    DefoliationM  
       2020-03-11 14:02:04 +08:00
    @witcherhope 就我个人用来写 android 来说,kotlin 比 java 少写不少代码.
    janxin
        128
    janxin  
       2020-03-11 14:05:34 +08:00
    因为你学 Python 的时候只学到了会写程序这个层面,没有继续往下深究....
    paoqi2048
        129
    paoqi2048  
       2020-03-11 14:08:47 +08:00
    学 Python 也就图一乐,真要学编程语言害得学 Java
    airplayxcom
        130
    airplayxcom  
       2020-03-11 14:13:43 +08:00   ❤️ 1
    这就是编译型语言和解释型语言的区别,编译型语言在开发阶段基本排除语言层面的错误,剩下的 bug 基本属于逻辑层面,开发效率偏低。相反解释性语言开发效率高,但是维护成本也相对高。
    pythonee
        131
    pythonee  
       2020-03-11 14:15:10 +08:00
    @ackfin01 我之前看《 the little schemer 》隐约能体会这种感觉,据说宏更妖
    anyele
        132
    anyele  
       2020-03-11 14:29:12 +08:00 via Android   ❤️ 1
    那你学学 c#可能觉得更香
    dazhangpan
        133
    dazhangpan  
       2020-03-11 14:31:39 +08:00
    呃,会用 Python 也会用 Java,没楼主说的这种感觉,我感觉这两种语言都差不多,一眼都能看穿语法特性背后的底层实现,当然我是 C->汇编->Java->Python 这么过来的
    quan01994
        134
    quan01994  
       2020-03-11 14:32:51 +08:00   ❤️ 1
    你可以学学 C# ,msdn 会让你体验到什么叫做官方中文文档。什么都给你整的明明白白。
    wangxiaoaer
        135
    wangxiaoaer  
       2020-03-11 14:47:17 +08:00
    java 代码是给人看的。

    其他语言呵呵呵。
    DelayNoMay
        136
    DelayNoMay  
       2020-03-11 14:55:12 +08:00
    学汇编,更香
    limingjie138
        137
    limingjie138  
       2020-03-11 14:57:18 +08:00 via Android
    @Mithril #10 前东家 c#才叫真吐了
    a1562619919
        138
    a1562619919  
       2020-03-11 15:05:51 +08:00 via Android
    Ja..v...Java...啰..啰..嗦. .嗦
    augustheart
        139
    augustheart  
       2020-03-11 15:08:59 +08:00
    @DelayNoMay 学汇编香个屁,说这些话的都不是真正用汇编的,叶公好龙。
    学汇编,你学的不是汇编,你学的是 51 汇编、stm32 汇编、x86 汇编、x86_64 汇编,arm7 汇编、arm9 汇编,mips32 汇编、risc-v 汇编……
    除了抖 m 和实在没办法的(比如我要在 vc++里面给 x64 程序内联汇编),谁想用汇编写东西啊……
    bruce00
        140
    bruce00  
       2020-03-11 15:21:53 +08:00
    我也是 Python 起步,学 Go 的时候各种恍然大悟,现在学 C 又是各种恍然大悟。但我最开始是看的 C,看了几章就没兴趣了,反而是 Python 现学现卖很有成就感
    tairan2006
        141
    tairan2006  
       2020-03-11 15:44:28 +08:00   ❤️ 1
    C#比 Java 先进多了
    ala2008
        142
    ala2008  
       2020-03-11 15:46:15 +08:00
    会写不同语言 Helloworld,可惜没有使用场景。我太懒了
    Jooooooooo
        143
    Jooooooooo  
       2020-03-11 15:48:58 +08:00
    想到大学学 C 全是烫烫烫
    Resource
        144
    Resource  
       2020-03-11 15:49:39 +08:00
    学 Java 也就图一乐,真要学编程语言害得学 PHP
    loading
        145
    loading  
       2020-03-11 15:56:39 +08:00
    没学过 java,但是 golang 也很香。
    ronngx
        146
    ronngx  
       2020-03-11 15:57:34 +08:00 via Android
    哈哈哈哈哈
    Chieh
        147
    Chieh  
       2020-03-11 16:00:02 +08:00
    不是严谨,是啰嗦
    galikeoy
        148
    galikeoy  
       2020-03-11 16:52:45 +08:00
    @exploreXin 厉害了,听君一番话,感觉视野开阔了
    sinopec
        149
    sinopec  
       2020-03-11 17:49:49 +08:00
    语法比 c++简单多了....
    很多东西都是类比下,这不就是 c++里的某某么,不过简单多了。。
    java 的优势在工程,库跟框架都太成熟了
    ben1024
        151
    ben1024  
       2020-03-11 17:55:31 +08:00
    @ajaxfunction 为何要抛开性能
    RipL
        152
    RipL  
       2020-03-11 17:58:01 +08:00
    学 go 把 感觉 go 还是可以的 bat 都在用,头条滴滴就不用说了。
    zzzzzzggggggg
        153
    zzzzzzggggggg  
       2020-03-11 18:01:52 +08:00
    从找工作的角度来说,Java 的工作机会应该比 go 要多很多吧?
    felixcode
        154
    felixcode  
       2020-03-11 18:11:23 +08:00 via Android
    @WebKit Windows,Linux 够不上工业级?
    ayavvv
        155
    ayavvv  
       2020-03-11 18:29:47 +08:00
    学一个新的语言,如果平时工作很难用到,不会很快就忘记细节吗?
    我觉得还是得面向需求学语言吧。
    q149072205
        156
    q149072205  
       2020-03-11 18:34:27 +08:00
    那只能说明你学的语言太少了。
    cdsama
        157
    cdsama  
       2020-03-11 18:51:35 +08:00
    恭喜啊,学了 java 觉得香说明你学到了知识盲区,这是进步了的表现,你再多学几门语言什么时候又觉得 java 不香了,就说明你进步更大了
    charlieputon
        158
    charlieputon  
       2020-03-11 18:55:51 +08:00 via Android
    @Hoshinokozo 我认得你,你是那个 Google 向你推荐 91porn 的老哥
    ddup
        159
    ddup  
       2020-03-11 20:04:02 +08:00
    要说香的话,C#、TypeScript 都比 Java 香不少,如果你是想提升自己对编程美学的理解,看看这两个语言吧。
    ddup
        160
    ddup  
       2020-03-11 20:17:04 +08:00
    @pythonee

    看一下 C# 里面的 Linq 特性,你就会知道平时工作中通过这一个特性就可以简化很多工作量了,关键是 Linq 在大大代码简化代码的同时,比传统代码还要更好理解。

    官方文档:
    https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/linq/introduction-to-linq-queries

    知乎文章:
    https://zhuanlan.zhihu.com/p/29049086
    cwek
        161
    cwek  
       2020-03-11 20:38:28 +08:00
    小心 python、php 警告
    maomaomao001
        162
    maomaomao001  
       2020-03-11 22:21:19 +08:00
    @1490213 学完 lisp 的新世界到底怎么样,这个我看的很多了,就是没有一个比较直观的认知 , 有没有比较简单的描述
    tohearts
        163
    tohearts  
       2020-03-12 09:17:17 +08:00
    学编程,本科的路线是 C-->C++-->JAVA-->JAVA WEB
    Chengx
        164
    Chengx  
       2020-03-12 09:30:24 +08:00
    @exploreXin 正统的学习流程应该是:C 语言,之后 C#, Java, C++三选其一学一个,其中如果学 C++请选择一个适合自己工作背景的最小的特性集学习,之后脚本语言 php , python,ruby,perl

    赞同
    TransAM
        165
    TransAM  
       2020-03-12 13:40:57 +08:00 via Android
    @pythonee 对的,宏无论带不带语法检查都有个问题,就是上下文相关。
    TransAM
        166
    TransAM  
       2020-03-12 13:46:09 +08:00 via Android
    @ddup 我觉得更难理解了。。。好在 linq 除了表达式之外还提供了一堆扩展方法,配合 lambda 挺爽的,也方便迁移到其他语言( linq4j,linq.js )。
    ccc825
        167
    ccc825  
       2020-03-12 13:48:59 +08:00
    @KnightJoker 我要是能回到在第一家公司转岗的前一天晚上我能把自己狗头敲烂了
    cco
        168
    cco  
       2020-03-12 14:16:15 +08:00
    随便一门语言玩溜了都香,多人协作 java 更香
    Bigglesworth
        169
    Bigglesworth  
       2020-03-12 15:50:07 +08:00
    "我不喜欢看见你们一副没见过世面的样子"
    jtwor
        170
    jtwor  
       2020-03-12 17:12:35 +08:00
    因为 java 是静态强类型 而 py 是动态强类型 所以给你感觉 java 比较严谨把
    ddup
        171
    ddup  
       2020-03-13 18:00:20 +08:00
    @TransAM linq 和 SQL 语法很接机,SQL 是测试人员 1 周就能学会的语法,你居然觉得更难理解了,对集合进行操作,是几个循环上去好读懂,还是 SQL SELECT、WHERE、GROUP BY、ORDER BY 好读懂。。。
    zhengjing
        172
    zhengjing  
       2020-04-27 09:31:44 +08:00
    确实,最近也在学习 java,真香
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1820 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 16:30 · PVG 00:30 · LAX 08:30 · JFK 11:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.