d****i 发帖数: 4809 | 1 看了那么多关于C++和Java的评论,很有意思,其实这两种语言各有所长,Java的应用
范围现在来说比C++多,职位也多,C++由于要兼容C,比较适合做底层,要求速度快效
率高的,还有和各种算法的实现,还有承上启下的职责。从历史来说呢,Java当时Sun
的高司令发明之初就是因为C++比较复杂,不好掌握,对程序员要求高,后来就借鉴C++
的概念和语法,发明了Java语言,这个是一个很大的革新,由于有了虚拟机的存在,使
得程序员不用去管硬件如何工作,相当于抽象了底层硬件,你不用去管内存如何,寄存
器如何。后来出现了Java的大量的库,还是方便了程序员,不用重新发明轮子。但是我
觉得为什么很多人老一代程序员看不起Java,还是误解了,我以前也看不起Java,觉得
这个东西很简单,看到无数转行的文科男女都会,而扔给他一个C++程序,马上傻眼,
这个思路就不对,Java就算简单,但是有很多实用价值,而且本身语言设计也比较严谨
,如果说北京人笑话深圳人没有历史文化底蕴,但是深圳人有钱,你说你跟谁走?C++
当然可以笑话Java缺乏文化底蕴,但是说到底还是钱说了算。虽然Java现在很牛逼,不
过我很同意几位计算机系教授的看法,自从90年代以来,大学CS的授课完全用Java取代
了C,使得教出来的学生完全没有指针,递归等概念,其实最好还是从C->C++->Java这
么一步步来,基础比较扎实,而不是速成班,话说回来,会C++的话,Java还是小菜了
,其他语言更是小菜。总之,这两种语言都很好,各有特色,各有所长,哪个都不会吃
掉哪个,因为他们生活的空间有所不同,不管你会哪一种或者两种都会,都是非常有前
途的。 |
d**********x 发帖数: 4083 | 2 我觉得你说的那个教育的问题不存在啊。
很多学校本科课程都从cmu抄袭了15213,那指针耍的。。
Sun
++
【在 d****i 的大作中提到】 : 看了那么多关于C++和Java的评论,很有意思,其实这两种语言各有所长,Java的应用 : 范围现在来说比C++多,职位也多,C++由于要兼容C,比较适合做底层,要求速度快效 : 率高的,还有和各种算法的实现,还有承上启下的职责。从历史来说呢,Java当时Sun : 的高司令发明之初就是因为C++比较复杂,不好掌握,对程序员要求高,后来就借鉴C++ : 的概念和语法,发明了Java语言,这个是一个很大的革新,由于有了虚拟机的存在,使 : 得程序员不用去管硬件如何工作,相当于抽象了底层硬件,你不用去管内存如何,寄存 : 器如何。后来出现了Java的大量的库,还是方便了程序员,不用重新发明轮子。但是我 : 觉得为什么很多人老一代程序员看不起Java,还是误解了,我以前也看不起Java,觉得 : 这个东西很简单,看到无数转行的文科男女都会,而扔给他一个C++程序,马上傻眼, : 这个思路就不对,Java就算简单,但是有很多实用价值,而且本身语言设计也比较严谨
|
d****i 发帖数: 4809 | 3 现在的情况我不知道,当时我还在美国这边学校里的时候,大学本科的CS都是直接教
Java的,请看stackoverflow的创始人写的文章
http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.h
【在 d**********x 的大作中提到】 : 我觉得你说的那个教育的问题不存在啊。 : 很多学校本科课程都从cmu抄袭了15213,那指针耍的。。 : : Sun : ++
|
t*****n 发帖数: 4908 | 4 不学习指针是不对的。打不劳基础,培养出来的都是懒散/不负责任的程序员。
【在 d****i 的大作中提到】 : 现在的情况我不知道,当时我还在美国这边学校里的时候,大学本科的CS都是直接教 : Java的,请看stackoverflow的创始人写的文章 : http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.h
|
g******y 发帖数: 1101 | 5
按你这说法,学ee的肯定最强,没学过芯片原理的肯定无法做好编程。
【在 t*****n 的大作中提到】 : 不学习指针是不对的。打不劳基础,培养出来的都是懒散/不负责任的程序员。
|
g*****n 发帖数: 420 | 6 我看过某资深Java程序员写的C++的程序,到处New对象,然后不释放,内存泄漏爆多。 |
b*******e 发帖数: 6389 | 7 lol,这个问题挺难解决的。
【在 g*****n 的大作中提到】 : 我看过某资深Java程序员写的C++的程序,到处New对象,然后不释放,内存泄漏爆多。
|
g*****g 发帖数: 34805 | 8 我也见过老C程序员写的Java,所有东西都被写成静态方法。语言就是个工具,哪里都
有烂人。
写Java烂人能造成的问题比较有限。恰恰是大系统上C++风险大的原因之一。
【在 g*****n 的大作中提到】 : 我看过某资深Java程序员写的C++的程序,到处New对象,然后不释放,内存泄漏爆多。
|
n******t 发帖数: 4406 | 9 关键是他这么写程序能跑么?能跑的话,我个人认为烂的程度有限。。。hehe
【在 g*****g 的大作中提到】 : 我也见过老C程序员写的Java,所有东西都被写成静态方法。语言就是个工具,哪里都 : 有烂人。 : 写Java烂人能造成的问题比较有限。恰恰是大系统上C++风险大的原因之一。
|
s*****n 发帖数: 5488 | 10 安啦,我们当年还学加法器设计,卡诺图, 逻辑优化什么的。
现在看不学也没缺多少。
老教授的话,90%都可以当一阵耳旁风。他们离社会实在太远了。就是搞研究都不一定
在前沿。
Sun
++
【在 d****i 的大作中提到】 : 看了那么多关于C++和Java的评论,很有意思,其实这两种语言各有所长,Java的应用 : 范围现在来说比C++多,职位也多,C++由于要兼容C,比较适合做底层,要求速度快效 : 率高的,还有和各种算法的实现,还有承上启下的职责。从历史来说呢,Java当时Sun : 的高司令发明之初就是因为C++比较复杂,不好掌握,对程序员要求高,后来就借鉴C++ : 的概念和语法,发明了Java语言,这个是一个很大的革新,由于有了虚拟机的存在,使 : 得程序员不用去管硬件如何工作,相当于抽象了底层硬件,你不用去管内存如何,寄存 : 器如何。后来出现了Java的大量的库,还是方便了程序员,不用重新发明轮子。但是我 : 觉得为什么很多人老一代程序员看不起Java,还是误解了,我以前也看不起Java,觉得 : 这个东西很简单,看到无数转行的文科男女都会,而扔给他一个C++程序,马上傻眼, : 这个思路就不对,Java就算简单,但是有很多实用价值,而且本身语言设计也比较严谨
|
|
|
g*****g 发帖数: 34805 | 11 本科教育是为计算机科学准备的,不是为码农准备的。
【在 s*****n 的大作中提到】 : 安啦,我们当年还学加法器设计,卡诺图, 逻辑优化什么的。 : 现在看不学也没缺多少。 : 老教授的话,90%都可以当一阵耳旁风。他们离社会实在太远了。就是搞研究都不一定 : 在前沿。 : : Sun : ++
|
m*******l 发帖数: 12782 | 12 以前说过你不能教写BASIC 的程序员写好程序
现在可以说JAVA了
【在 g*****n 的大作中提到】 : 我看过某资深Java程序员写的C++的程序,到处New对象,然后不释放,内存泄漏爆多。
|
m*******l 发帖数: 12782 | 13 考, C里面那里有静态方法?
【在 g*****g 的大作中提到】 : 我也见过老C程序员写的Java,所有东西都被写成静态方法。语言就是个工具,哪里都 : 有烂人。 : 写Java烂人能造成的问题比较有限。恰恰是大系统上C++风险大的原因之一。
|
t*****n 发帖数: 4908 | 14 确实有道理。某大牛说过类似的。
【在 g******y 的大作中提到】 : : 按你这说法,学ee的肯定最强,没学过芯片原理的肯定无法做好编程。
|
t*****n 发帖数: 4908 | 15 所以编程水平和用什么语言没啥关系。高手写的basic远胜入门者写的java。只有初学
的才这么在乎编程语言。上班到了公司,根本就没得选。
【在 g*****n 的大作中提到】 : 我看过某资深Java程序员写的C++的程序,到处New对象,然后不释放,内存泄漏爆多。
|
y****e 发帖数: 23939 | 16 现在有很多编程的课程都是用Python了
Sun
++
【在 d****i 的大作中提到】 : 看了那么多关于C++和Java的评论,很有意思,其实这两种语言各有所长,Java的应用 : 范围现在来说比C++多,职位也多,C++由于要兼容C,比较适合做底层,要求速度快效 : 率高的,还有和各种算法的实现,还有承上启下的职责。从历史来说呢,Java当时Sun : 的高司令发明之初就是因为C++比较复杂,不好掌握,对程序员要求高,后来就借鉴C++ : 的概念和语法,发明了Java语言,这个是一个很大的革新,由于有了虚拟机的存在,使 : 得程序员不用去管硬件如何工作,相当于抽象了底层硬件,你不用去管内存如何,寄存 : 器如何。后来出现了Java的大量的库,还是方便了程序员,不用重新发明轮子。但是我 : 觉得为什么很多人老一代程序员看不起Java,还是误解了,我以前也看不起Java,觉得 : 这个东西很简单,看到无数转行的文科男女都会,而扔给他一个C++程序,马上傻眼, : 这个思路就不对,Java就算简单,但是有很多实用价值,而且本身语言设计也比较严谨
|
g*****g 发帖数: 34805 | 17 是写java全写成静态方法,就很像C了。
【在 m*******l 的大作中提到】 : 考, C里面那里有静态方法?
|
b******y 发帖数: 9224 | 18
这个。。。是不是就是传说中的码工和码农的区别了?码工用java, 码农用python。。
。 :-)
谁给科普一下,到底码工和码农的区别是啥? 是啥?是啥?是啥?是啥?是啥?是啥
?是啥?是啥?
【在 y****e 的大作中提到】 : 现在有很多编程的课程都是用Python了 : : Sun : ++
|
g*****g 发帖数: 34805 | 19 都是农民工,没区别。
【在 b******y 的大作中提到】 : : 这个。。。是不是就是传说中的码工和码农的区别了?码工用java, 码农用python。。 : 。 :-) : 谁给科普一下,到底码工和码农的区别是啥? 是啥?是啥?是啥?是啥?是啥?是啥 : ?是啥?是啥?
|
b******y 发帖数: 9224 | 20
LOL
【在 g*****g 的大作中提到】 : 都是农民工,没区别。
|
|
|
z*******3 发帖数: 13709 | |
s*****n 发帖数: 5488 | 22 大概说的是不知道怎么实现吧。call stack上面怎么传参数,返回地址什么的。
【在 z*******3 的大作中提到】 : java不能写递归?
|
c*********e 发帖数: 16335 | 23 你肯定是c++ 程序员。現在的java,c#,objective-c都不用主动释放不用的内存了,
这些本来就不应该是程序员来做。程序员应该把重点放在怎么用frameworks来实现自己
的business logic.ejb的container理论,就是让container来管理安全之类的东西,程
序员不用管这些芝麻大的小事。
【在 t*****n 的大作中提到】 : 不学习指针是不对的。打不劳基础,培养出来的都是懒散/不负责任的程序员。
|
c*********e 发帖数: 16335 | 24 加法器还是要学的,否则都不理解bitwise operation里,xor是干什么用的。
【在 s*****n 的大作中提到】 : 安啦,我们当年还学加法器设计,卡诺图, 逻辑优化什么的。 : 现在看不学也没缺多少。 : 老教授的话,90%都可以当一阵耳旁风。他们离社会实在太远了。就是搞研究都不一定 : 在前沿。 : : Sun : ++
|
c*********e 发帖数: 16335 | 25 恩,如果一个项目要求用vb,如果你不会,那就麻烦了。
【在 t*****n 的大作中提到】 : 所以编程水平和用什么语言没啥关系。高手写的basic远胜入门者写的java。只有初学 : 的才这么在乎编程语言。上班到了公司,根本就没得选。
|
d**********x 发帖数: 4083 | 26 单说一点。realtime system不能用gc
【在 c*********e 的大作中提到】 : 你肯定是c++ 程序员。現在的java,c#,objective-c都不用主动释放不用的内存了, : 这些本来就不应该是程序员来做。程序员应该把重点放在怎么用frameworks来实现自己 : 的business logic.ejb的container理论,就是让container来管理安全之类的东西,程 : 序员不用管这些芝麻大的小事。
|
m*******l 发帖数: 12782 | 27 那指针谁来做?
【在 c*********e 的大作中提到】 : 你肯定是c++ 程序员。現在的java,c#,objective-c都不用主动释放不用的内存了, : 这些本来就不应该是程序员来做。程序员应该把重点放在怎么用frameworks来实现自己 : 的business logic.ejb的container理论,就是让container来管理安全之类的东西,程 : 序员不用管这些芝麻大的小事。
|
c*********e 发帖数: 16335 | 28 现在和java较劲的,是c#,不是c++.
【在 d**********x 的大作中提到】 : 单说一点。realtime system不能用gc
|
m*******l 发帖数: 12782 | 29 哪个谁要来骂你了,哪个jamaicaJvm就用的gc
【在 d**********x 的大作中提到】 : 单说一点。realtime system不能用gc
|
d**********x 发帖数: 4083 | 30 那么做realtime的那些人是不是程序员……
【在 c*********e 的大作中提到】 : 现在和java较劲的,是c#,不是c++.
|
|
|
d**********x 发帖数: 4083 | 31 看了一下,那玩意用的gc是c语言时代就在用的m&s算法啊
太可怕了,真高级啊。。
【在 m*******l 的大作中提到】 : 哪个谁要来骂你了,哪个jamaicaJvm就用的gc
|
m*******l 发帖数: 12782 | 32 哦,我就看了看WIKI
【在 d**********x 的大作中提到】 : 看了一下,那玩意用的gc是c语言时代就在用的m&s算法啊 : 太可怕了,真高级啊。。
|
c*********e 发帖数: 16335 | 33 garbage collector
【在 m*******l 的大作中提到】 : 那指针谁来做?
|
m*******l 发帖数: 12782 | 34 gc谁来做?
【在 c*********e 的大作中提到】 : garbage collector
|
c*********e 发帖数: 16335 | 35 你做。 和和
【在 m*******l 的大作中提到】 : gc谁来做?
|
p***o 发帖数: 1252 | 36 难道java用的不是m&s的某个变种?
【在 d**********x 的大作中提到】 : 看了一下,那玩意用的gc是c语言时代就在用的m&s算法啊 : 太可怕了,真高级啊。。
|
p***o 发帖数: 1252 | 37 学指针和释不释放内存有什么关系? 这年头不懂container不懂ref counting GC还能
自称c++程序员?再说java里基本全是指针,不同意的请写段程序交换两个对象的值。
【在 c*********e 的大作中提到】 : 你肯定是c++ 程序员。現在的java,c#,objective-c都不用主动释放不用的内存了, : 这些本来就不应该是程序员来做。程序员应该把重点放在怎么用frameworks来实现自己 : 的business logic.ejb的container理论,就是让container来管理安全之类的东西,程 : 序员不用管这些芝麻大的小事。
|
c*********e 发帖数: 16335 | 38 c++里,用指针,非常容易忘记释放heap的空间(因为有时候是在一个method里new,另
外一个method里释放空间)。经常出现stak overflow,数组越界之类的;
java的bug,很多是null pointer.
【在 p***o 的大作中提到】 : 学指针和释不释放内存有什么关系? 这年头不懂container不懂ref counting GC还能 : 自称c++程序员?再说java里基本全是指针,不同意的请写段程序交换两个对象的值。
|
d**********x 发帖数: 4083 | 39 这。。
值。
【在 c*********e 的大作中提到】 : c++里,用指针,非常容易忘记释放heap的空间(因为有时候是在一个method里new,另 : 外一个method里释放空间)。经常出现stak overflow,数组越界之类的; : java的bug,很多是null pointer.
|
p***o 发帖数: 1252 | 40 我只能说15年前的C++不算C++了 ...
,另
还能
【在 d**********x 的大作中提到】 : 这。。 : : 值。
|