1. 跨平台计算机语言有哪些功能怎么样。学编程优先考虑哪种
需要学习Visual Basic、Visual Basic for Applications、ASP、Visual C++和java等编程语言。
在Visual Basic中的基本语句包括:
一、赋值语句。
赋值语句的语法如下:
变量名或对象.属性=表达式
它的含义是把等号右边的值赋给等号左边的值。
二、判定结构。
一、If语句。
用If...Then结构有条件地执行一个或多个语句。单行语法和多行块语法都可以使用:
If condition Then statement
If condition Then
Statements
End If
Condition 通常是比较式,但它可以是任何计算数值的表达式。Visual Basic 将这个值解释为True或False:一个为零的数值为False,而任何非零数值都被看作True。若condition为True,则Visual Basic执行Then
关键字后面的所有statements。可以使用单行或多行语法有条件地执行一个语句。
注意:If...Then的单行格式不用End If语句。如果condition为True时要执行多行代码,则必须使用多行块If...Then...End If语法。
二、If...Then...Else语句。
用If...Then...Else块定义几个语句块,执行其中一个语句:
If condition1 Then
[statementblock-1]
[ElseIf condition2 Then
[statementblock-2]] ...
[Else
[statementblock-n]]
End If
Visual Basic首先测试condition1。如果它为False,Visual Basic就测试
condition2,依次类推,直到找到一个为True的条件。当它找到一个为
True的条件时,Visual Basic就会执行相应的语句块,然后执行End If后面的代码。作为一个选择,可以包含Else语句块,如果条件都不是True,则Visual Basic执行Else语句块。
If...Then…ElseIf只是If...Then...Else的一个特例。注意,可以使用任意数量的
ElseIf子句,或者一个也不用。可以有一个Else子句,而不管有没有ElseIf
子句。
二、循环语句。
电脑最擅长的就是不厌其烦地重复做一项工作成千上万遍(即重复执行几行代码),这就是通过循环结构来完成的。VB支持的循环结构有:Do…Loop和For…Next。
用Do循环重复执行一个语句块,且重复次数不定。Do…Loop是以计算数值为条件以决定是否继续执行。条件必须是一个数值或者值为True或False的表达式。
在下面的Do…Loop循环中,只要条件为真就执行循环。
Do While 循环条件
循环语句块
Loop
当Visual Basic执行到这个Do循环时首先测试条件,条件为假时,跳过所有语句。如果条件为真,Visual Basic就会执行语句,退回到Do While语句测试条件。只要条件为真,循环可以随意执行几次。如果条件一开始便为假,则不会执行语句。
还有一种Do…Loop语句,是先执行语句,每次执行之后测试条件,循环中的语句至少执行一次。
Do
循环语句块
Loop While 循环条件
在不知道循环要执行几次语句时,用Do循环,知道循环次数时,可以使用For…Next循环。For循环使用一个叫做计数器的变量,重复一次循环之后,计数器的值会增加或减少。
For 计数器=初值To终止值Step增量
循环语句块
Next 计数器
计数器、初值、终止值和增量为数值型。执行For循环时,设置计数器等于初值,测试计数器是否大于终止值,是则退出循环,执行循环语句,计数器增加增量后重复以上步骤。
用Exit语句可以退出For循环、Do循环,它的语法是Exit Do和Exit For,在循环中出现的次数无限制。
希望我能帮助你解疑释惑。
2. 写小程序,什么语言跨平台兼容和性能较好golang
我最早使用的语言是Java和Python, 并且一直都对Python充满好感, 我喜欢这种很朴实和高效率的感觉, 但我却最后没有采用Python,原因其实也很简单, 我就是不喜欢缩进语法, 就跟很多人换工作仅仅是为了屏幕更大一点一样, 另外就是有了同样很棒的可选方案, 这就是Ruby, 所以我最终采用了Ruby作为主力编程语言, 同样也为不能使用Python而有一点小遗憾,毕竟Python的健壮性比Ruby好很多,只不过Ruby也一直在进步, 所以这一点无伤大雅
我们都知道,无论是Python还是Ruby,甚至Java, 都是在解决业务层的问题, 属于应用型语言, 以解决业务逻辑为主, 但还有一个领域是系统领域,偏网络层和底层操作,在这一块我一直在寻找一种优雅的方案, C++被我首先给淘汰掉了, C的开发效率太低, Java倒是比较合适, 就是太臃肿,而且缺少系统编程的基因,毕竟它是企业级开发出身的
最后我选择了Erlang, 因为它在网络层方面表现优秀, 同时容错性和健壮性都很不错, 它的虚拟机是唯一可以跟JVM媲美的, 而且还有OTP的超重量级武器, 几乎可以是通杀网络层应用, 但根据我的总结它有一个硬伤和一个软肋,这一点后面展开,可以说选择Erlang是我目前所知道的方案里面是最优的
直到有一天我了解了Golang, 我知道Golang其实也蛮早的, 大概08年的时候就知道Google在搞一门奇怪的语言, 之后的几年,一直有不少以老莫为代表的人在嘀咕Golang, 其实我一直没太关注,我从ROR中吸取的经验是,成熟度对于商用很重要, 后来基于Golang开发的产品越来越多,让我不得不去研究一下, 这我才知道, 这就是我梦想中的Python, 效率和性能达到了最佳的平衡,对Go了解越多, 就越不愿意用Erlang写代码,主要原因:
1、Erlang的硬伤在于代码的可读性、表现力, 让我来举个小例子, 比如你为你的系统软件构建一个RESTFUL的接口,我们大致了解一下代码风格,先不说Erlang, 无论是你c/c++/python/ruby/java 出身, 对Go是不是有种很久违的感觉, 为什么说是硬伤? 因为对一门语言来说,语法是不大可能会大幅度变更的, 而且不会出现大的变化, 我不知道有没有人读过《松本行弘的编程世界》,里面阐述的道理很明白, 真正好的编程方式是人去主宰计算机而不是计算机主宰人, 我感觉Erlang就有点主宰我的编程思维的感觉(我的视力本身就不好,它还在不断的扼杀我的眼睛!), 编程首先是门逻辑学,其次是工程学,最后才是数学, 又让我想起吴军的《数学之美》所说的, 人工智能上个世纪一直在走弯路, 期望机器的高度图灵完备, 而忽视人类本身已有的文明,统计归纳的应用
2、Erlang的软肋在于高质量的库少,尽管有不少杀手级应用, 同样Go在这方面也是软肋, 这一点对于一个不到五年的语言有情可原, 但对于一个20多年的语言是不是有点说不过去, 比如你用json解析库,很多人都是从mochiweb这个基本不更新的库中去抽取, 而我认为对于类似json这种东西可以考虑融入到语言标准库中, 因为未来的商业软件的api化趋势越来越明显,说的难听点 , 一个倚老卖老一个与时俱进,反正我对Golang的库一点也不担心, 目前的成绩易经非常棒了, 远远优于Ruby/Python的前五年, 可参见已有的高质量的库列表
3、Erlang不合群, 这主要体现在跟其他语言的交互性上, 当然这也有深层次的原因, Erlang本身有自己的哲学, 如出错恢复机制, 你融入一个其他语言的东西进去, 这帐就不好算,就好比你硬要让一个喝咖啡的跟一个吃大蒜的坐在一起, 总之你写一个Erlang的port远远比Go复杂, 甚至比Python/Java还要复杂, 这就造成了Erlang在底层编程上效果不是很好, 没法利用linux已有的很多优秀成果,我一直认为Erlang的什么的mysql/pg/oracle驱动都没有必要存在, Erlang一定是一个self-container应用, 你只要用到了其他东西, 根据木桶理论, 你就不敢号称9个9,以系统的眼光看问题, 我觉得一个系统的鲁棒性不能依赖于某一组件, 这也是为什么爱立信本身的Erlang应用并不广泛
4、说说数据类型吧, 我不止听到1个人说Erlang对字符串的处理不有好, 它把string当做list来处理,其实本质上是该这么,但,还是那句话, 违背了面向人的哲学, 应该做一些DSL, 比如Golang里面的 := 就是一个糖衣, 等价于 var xx yyy = zzzz, 大大方便的程序员少敲不少字符, Golang里面对字符转可以说基本和python差不多, slice map函数很强大, 支持lambda条件,虽然Erlang的基本类型很少, 但有很多构造, 所谓构造等价于Golang里面复杂的struct, 也奇怪了,我就是感觉Erlang构造伤眼睛好吗?可能是各种括号的比对的原因吧, 而且我认为这是不必要的, 显然Erlang缺少DSL的基因, 当然跟Erlang出身的年代有关, 我不夸张的说, 自打用Erlang以后我的视力又下降了100度左右, 我不是很喜欢lisp所说的符号也是一种语法, 可能这又跟函数式编程有关吧:形式推导远大于逻辑演绎
5、其实我最不关注的是性能问题, 因为随着摩尔定律, 单位计算单元的性价比会无限高,但Golang既然提出它的性能逼近C, 那我还是提一下吧, 当然, Erlang也还可以, 虽然比Java慢, 但跟Python一个档次吧
6、再谈谈报错机制, 因为Erlang的的报错信息太让人纠结了, 起初以为我不会看出错信息, 后来也使用了Sasl, 还是不够直观,甚至有时要用工具分析crash文件来定位问题,还是跟Erlang的哲学有关, 在Erlang中一切都是并行的, 所以它根本不care是物理哪一行出错, 只跟Actor绑定, 然后告诉你Actor的ID和出错代号, 你自己凭经验去分析吧,这样做的好处是可以很方便定位出并行中出现的问题,但凡事都是相对的, 在这一点上有点纠枉过正,根据我的经验, 绝大部分时候我只希望先给我明确的指出哪一行出错了好吗? 甚至把顺序的backtrace用完整的英文句子打印出来好吗?至于并行中的错误及时在命令式多线程语言中是不常见的,虽然并不是没有, 但遇到错误我再费劲去调试好了, 但并不是所有的逻辑都用并行的思维去定位问题, 我甚至认为, 对于一个系统不完全是并行也不完全是串行,跟好比我们衡量世界不能单纯的唯物也不能完全的唯心一样, 这一点Golang就做了很好的折中, 不需要并行的时候你老老实实的写串行代码, 需要并行的时候也有较复杂的机制来应对, 合乎情理
7、再说说招人吧, 以前招过好几个C出来的人,说实话水平很好, 可以一周就完成一个小组件, libevent用的熟的很,后来我逼人家用Erlang,结果把人家逼走了,至今我还很后悔, 自己的一厢情愿强加在别人身上真是太不合适了,但我招纯Erlang出来的人,可以说比招objc的人还难, 没有人,空谈技术的优雅性首先就是不靠谱的,再看看邮件列表, Golang的活跃度明显比Erlang高很多, 基本逼近Ruby,更重要的是, 我根本不担心Golang的人才,因为只要熟悉Python/C/Ruby/或者C++, 基本可以实现半天入门, 之后就可以噼里啪啦边搜资料边干活了,虽然有足够的深度,但门槛极其平缓,工程人员也可以复用很多已有的知识。 Erlang在这一点其实跟第一点硬伤有关,大部分人学一周都摸不着头脑,不是每个人的抽象思维和世界观都是一样的好吗, 所以函数式编程尽管不比命令式语言起步晚,但始终学的人很少,这就是历史, 对于大部分人, 更希望解决问题,创造价值, 而不是数学来推导去
8、最后我建议, 如果你是玩c/c++的, 现在开始学Golang,是最好的时机, 跟一门靠谱的语言一起成长, 这种感觉非常棒, 你用Erlang折腾1个应用, 用Go恐怕都完成了10个开源项目, 当然,也要结合自己的口味, Golang就是Sublime Text, Erlang就是Emacs
相信自己的判断,相信自己的逻辑, 赢就是赢,输就是输
转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦
3. JAVA绠楀緱涓婃渶鏈夊墠閫旂殑缂栫▼璇瑷
Java鏄涓绉嶅箍娉涗娇鐢ㄧ殑璁$畻鏈虹紪绋嬭瑷锛屾嫢鏈夎法骞冲彴銆侀潰鍚戝硅薄銆佹硾鍨嬬紪绋嬬殑鐗规э紝骞挎硾搴旂敤浜庝紒涓氱骇Web搴旂敤寮鍙戝拰绉诲姩搴旂敤寮鍙戙侸ava鍙浠ョ紪鍐欐岄潰搴旂敤绋嬪簭銆乄eb搴旂敤绋嬪簭銆佸垎甯冨紡绯荤粺鍜屽祵鍏ュ紡绯荤粺搴旂敤绋嬪簭绛夈
👍鍔熻兘寮哄ぇ
Java涓嶄粎鍚告敹浜咰++璇瑷鐨勫悇绉嶄紭鐐癸紝杩樻憭寮冧簡C++閲岄毦浠ョ悊瑙g殑澶氱户鎵裤佹寚閽堢瓑姒傚康锛屽洜姝Java璇瑷鍏锋湁鍔熻兘寮哄ぇ鍜岀畝鍗曟槗鐢ㄤ袱涓鐗瑰緛銆
🧐闈㈠悜瀵硅薄
Java璇瑷浣滀负闈欐侀潰鍚戝硅薄缂栫▼璇瑷鐨勪唬琛锛屾瀬濂藉湴瀹炵幇浜嗛潰鍚戝硅薄鐞嗚猴紝鍏佽哥▼搴忓憳浠ヤ紭闆呯殑鎬濈淮鏂瑰紡杩涜屽嶆潅鐨勭紪绋嬨
👌绠鍗曟槗鐢
Java鐪嬭捣鏉ヨ捐″緱寰堝儚C++锛屼絾鏄涓轰簡浣胯瑷灏忓拰瀹规槗鐔熸倝锛岃捐¤呬滑鎶奀++璇瑷涓璁稿氬彲鐢ㄧ殑鐗瑰緛鍘绘帀浜嗭紝杩欎簺鐗瑰緛鏄涓鑸绋嬪簭鍛樺緢灏戜娇鐢ㄧ殑銆
🌐鍒嗗竷寮
Java璁捐℃垚鏀鎸佸湪缃戠粶涓婂簲鐢锛屽畠鏄鍒嗗竷寮忚瑷銆侸ava鏃㈡敮鎸佸悇绉嶅眰娆$殑缃戠粶杩炴帴锛屽張浠Socket绫绘敮鎸佸彲闈犵殑娴侊紙stream锛夌綉缁滆繛鎺ワ紝鎵浠ョ敤鎴峰彲浠ヤ骇鐢熷垎甯冨紡鐨勫㈡埛鏈哄拰鏈嶅姟鍣ㄣ
👍楂樺彲闈犳
Java鍘熸潵鏄鐢ㄤ綔缂栧啓娑堣垂绫诲剁敤鐢靛瓙浜у搧杞浠剁殑璇瑷锛屾墍浠ュ畠鏄琚璁捐℃垚鍐欓珮鍙闈犲拰绋冲仴杞浠剁殑銆侸ava娑堥櫎浜嗘煇浜涚紪绋嬮敊璇锛屼娇寰楃敤瀹冨啓鍙闈犺蒋浠剁浉褰撳规槗
🚀楂樻ц兘
Java鏄涓绉嶅厛缂栬瘧鍚庤В閲婄殑璇瑷锛屾墍浠ュ畠涓嶅傚叏缂栬瘧鎬ц瑷蹇銆備絾鏄鏈変簺鎯呭喌涓嬫ц兘鏄寰堣佺揣鐨勶紝涓轰簡鏀鎸佽繖浜涙儏鍐碉紝Java璁捐¤呭埗浣滀簡鈥滃強鏃垛濈紪璇戠▼搴忥紝瀹冭兘鍦ㄨ繍琛屾椂鎶奐ava瀛楄妭鐮佺炕璇戞垚鐗瑰畾CPU锛堜腑澶澶勭悊鍣锛夌殑鏈哄櫒浠g爜锛屼篃灏辨槸瀹炵幇鍏ㄧ紪璇戜簡銆
4. 开发跨平台的桌面应用用什么编程语言比较好
目前来说做桌面应用程序最好的是C#.Net,但是如果您要求跨平台的话,貌似只能选择使用java了。但是JavaSwing对于C/S架构的程序编写来说还是比较困难的。如果可能的话,尽量舍弃跨平台。