Re: [问题] Java的物件导向不够纯粹

楼主: dream1124 (全新开始)   2015-07-04 02:24:08
※ 引述《dharma (达)》之铭言:
: 一些人觉得Java在物件导向上面做的没有Ruby和Smalltalk纯粹。但是最新出现的用Java
: 实现的语言Groovy解决了这些问题。
: https://zh.wikipedia.org/wiki/Java
: 只稍微会Java
: Ruby和Smalltalk完全没接触过
: 那么维基说Java的物件导向不够纯粹
: 是指什么?
我猜意思应该是 java 还有原生型态 ( primitive types ),例如常见的数字
int num = 10;
你不能把 10 当成一般 java 物件那样呼叫一些操作方法,
例如你没办法呼叫 10.hashCode() ,因为这边的 10 不是物件,只是数值
: 看这篇介绍Groovy
: http://www.codedata.com.tw/java/groovy-tutorial-1-understanding-groovy/
: Groovy解决Java物件导向不够纯粹的问题
: 是指Groovy写法比较简洁
: 不像Java过度严格囉嗦
“语法是否简洁”与“是否为纯粹物件导向”应该是两种特色
只是近年推出的新程式语言多半同时具备这两种特质罢了
不过,路过的我忍不住想提醒你,虽然贴上来的文章作者功力不错,
有关 Groovy 的描述也没错。
但要是你没有什么程式语言基础,然后在文章里又看到像这样的说法
“因为某 G 语言具备某某特色... 所以比某 J 语言容易学又不烦锁没包袱”
.... 这类的评论看看就好。
作者讲这种话的时候已经会 java,很可能不觉得致力和 java 相容的 groovy 难学。
以我的经验,就算会 java 才学 groovy ...都不觉得它是很简单的语言。
你会容易写出可以执行的东西没错,但这样就代表新手会好学好写吗?
别的不说,试着看完 groovy 教学文章以后能不能立刻完整解读
长一点的 gradle 建置设定档,然后写出自己的客制流程就好
这时候你可能会发现,原来程式语言的语法洗炼与否跟难度复杂度是两回事。
很多地方有撇步要花时间搞懂,跟先前快乐入门的时候完全不一样
java 语法是比较烦没错,当初想学其他语言的时候也是这样嫌弃它,
但现在学会其他语言反而回头欣赏 java 的美,觉得它相对容易掌握。
只要你抓住语法上的重点,很多时候甚至可以用推敲的就融会贯通,
不用写完程式再编译就能知道哪些没写过的语法正确,哪些会错,
因此容易拿来实现各种东西。
相反的如果一种语言有许多地方都在不知情的状况下让编译器给你一些方便
或是智能猜测型态自动转换。虽然写小程式很方便,
但只要程式越写越大变复杂,到时该花的学习时间一点都少不了,
这时候反而是难以驾驭的。
jvm 的新手语言还是首推 java,毕竟语法洗炼和语言简单是两回事。
作者: qrtt1 (有些事,有时候。。。)   2015-07-04 09:51:00
gradle 还是要再学一次 gradle 的部分,不然还真有点难上手
作者: PttTime   2015-07-04 12:28:00
我认为语法简炼跟语言简单是成反比的就跟文言文与白话文一样
作者: cha122977 (CHA)   2015-07-04 12:32:00
不会啊 看看python 语法简单也很洗炼
作者: yyc1217 (somo)   2015-07-04 12:50:00
我就遇过'13' >'5' 在浏览器是true 可是在nodejs是false的情形 如果是java应该写到一半就会出现错误
作者: haha02 (来人!上夹棍!)   2015-07-04 13:17:00
讲简单一点就是学程式撞墙是迟早要撞的 什么时后撞的差别而已 java这种偏向早撞的好处是比较不会养成坏习惯或错误观念 但是入门门槛相对高
作者: luoqr (.....)   2015-07-06 21:36:00
DSL感觉就是一堆private function没文件还真的不会用呢 Orz

Links booklink

Contact Us: admin [ a t ] ucptt.com