百科问答小站 logo
百科问答小站 font logo



java初学者需不需要立马学习使用ide? 第1页

  

user avatar   xing-jiankuan 网友的相关建议: 
      

我强烈支持java初学者使用IDE。因为Java本来就是个离开IDE就很难写的语言

大凡初学者对很多东西都很不熟悉的时候,需要把全部注意力专注在一两点内容上,比如一些基础语法,条件控制,函数,方法的意思等。但是Java在这些核心内容之外要考虑的东西很麻烦,比如:

  • 编译过程 ( .java --> .class 以及classpath的配置)
  • 依赖的安装和引用(没有mvn/gradle寸步难行,而mvn/gradle本身也要一些配置,啥是groupId/artifactId/packaging, src/main/java是什么鬼)
  • 包的名称要和目录一一对应上
  • 随便就会有一大把的import
  • 一个.java文件里只能有一个public class,于是稍微复杂点的例子就得一堆文件
  • 必须得弄个public static void main这种怪东西才能启动,但初学者可能压根还没学过什么是public、static、void
  • 没有自动类名方法名提示对很多Java从业者都很难接受,更不要说初学者
  • ……

以上会造成一个简单的hello world没有IDE都要折腾很久,如果要弄个基本的能跑的web服务器在没有springboot的情况下都会吐血。这一切都将会对初学者的信心进行暴击。

对于编程初学者,需要花更多注意力集中在语法本身就是表达的含义上,其他干扰的项目能少一点就少一点,等到遇到了再去研究javac,java,mvn,gradle,jps,jstatck,jconsole……。

另外,再说一遍:Java是个离开IDE就很难写的语言。所以最终大部分人说的“开发Java”的意思大致就是指用Eclipse/IntelliJ写Java程序。因此,一开始就接触这些IDE也没什么不好。只是记得IDE并不是万能的,同时也要理解一些IDE的内部工作原理和与command line的交互。

对于很多其他语言,即便没有IDE也基本上不会有太多干扰,比如nodejs,python,go。本身语法简洁,没那么多条条框框,有的自身带REPL就很友好。一个vscode、sublime、atom基本上就能解决95%的问题了。这样的语言不用IDE学起来就很不错。


user avatar   ikkiz-70 网友的相关建议: 
      

基于linux可以做到自主,但是不够可控。国产化以及自主可控本身都不是最终目标,产业安全和国家安全更加重要,Linux的问题就在于不够安全。

linux的问题在于代码量太大,团队太杂。千万级别的代码,而且是宏内核架构,大量来自各种团队的设备驱动和内核模块,任何一个点出问题都可能被获得系统控制权。除部分资源受限的嵌入式设备外,使用linux的厂商大概也没多少动力进行裁剪。目前的针对涉密网办公用的国产OS通过各种审计,监控,异形物理接口等手段进行安全增强,但是如果有预埋的内核漏洞想一想仍然有机会激活。而更多的应用场景比如工控机,上位机不太可能上厚重的保护手段,成本和意识都跟不上。

bsd是更加安全稳定的方案,但是bsd在美国控制之下,长久看来也不够可控。

作为自主可控的基石,需要一个纯粹的微内核架构。现在问题是目前所有的微内核OS都必须解决性能问题,否则无法做到足够的通用性,就像QNX,无法解决大部分问题。很多厂商包括IBM都曾经在微内核上下注,还没有得到十足的成功。

目前潜在的比较令人期待的微内核通用系统有两个,fuchsia和鸿蒙。这两个都有大厂背景,表现出了商用的潜力,fuchsia已经展现了一些平台特性,鸿蒙作为TEE架构的TEE部分也已经初步商用。如果能够成功,相当于在linux、bsd之外又多了一个或两个posix兼容内核的选择,可以作为基础制作新的更加安全可控的发行版(忘记hurd吧)




  

相关话题

  Java 岗位面试,面试官最后说,你还有什么要问的吗? 
  脚本语言是必然趋势,在开发成本面前,其他都是浮云。现在的问题是,把解释语言转成编译语言的转换器,如Java的JIT compiler,你认为最近Facebook开源的JIT PHP编译器及虚拟机,是否可以提供这种可能性? 
  自动注入到底比new好在哪? 
  今年刚考上机械研究生,想着混个毕业,自学三年java毕业转行可行吗? 
  有哪些好用的 C++ IDE? 
  针对 log4j 此次漏洞,应该引起我们哪些警示?利用工具的同时我们是不是应该更注重基础原理? 
  把 string 当 enum 用,有性能损失吗? 
  Java 泛型 <? super T> 中 super 怎么 理解?与 extends 有何不同? 
  什么理由让代码保存为GBK? 
  为什么安卓不去掉 Java 语言底层? 

前一个讨论
如何看待华人杨安泽竞选2020年美国总统?
下一个讨论
如何看待中国新增 7 个自贸区?可能会带来哪些影响?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利