你该学什么程序语言?[转贴:蔡学墉]

Cesium生态盘点:超图、火星3D等15个二次开发框架对比 本文深入解析Cesium生态中的15个二次开发框架,包括超图、火星3D等主流选择,帮助开发者根据项目需求进行精准选型。从性能表现、功能完备性、开发友好度等维度进行对比,特别适合需要处理地理空间数据和构建三维可视化的JavaScript开发者。 阅读详情
 在夜未眠上看到的一片文章,很老了.呵呵.
作者;蔡学墉

除非你像我一样学程序语言只是为了到处献宝,否则你在学一套程序语言前,应该先仔细
评估到底要学哪一套。每个程序语言的用途都有很大的差异,走了冤枉路可能会耽误到计
画实作的进程。

我大致上把程序语言分成五类,分述如下:

Web Page Script Languages
用来做网页的语言,可以对网页做控制。如果你希望设计出很炫的网页,光靠 HTML 是不
够的,你还得学一套 Web Page Script Language,比方说 JavaScript(ECMAScript)和
微软的 JScript。不过两者都是系出同门,所以差不多。WML Script(WAP 手机的 scrip
t)也是袭自 JavaScript。

许多人知道我不会 JavaScript 之后,都会大吃一惊地反问:「可是你不是会 Java,怎么
不顺便学 JavaScript,两个语言不是差不多」。如果依照此推理,我看我差不多每个语言
都要学了,因为除了 REBOL 和汇编语言比较特殊之外,我觉得其它语言的语法都差不多(
但用途差很多)。

不过我最近的确是有打算开始学 JavaScript,因为我发现用到它的机会还不少。除了网页
会用到之外,我最近所接触的 SVG(Scalable Vector Graphics)就使用 JavaScript 来
达到动画效果。

Interpreted Languages(直译式语言)
这类直译式的语言包括了 Perl、Python、REBOL、Ruby... 等,也常被称为 script 语言
,通常是用来取代批次档和 shell script 以便和底下的操作系统沟通。基本上,每个人
至少都应该要会一套这类的语言,当你需要做某件简单的工作,你可以透过直译式的语言
来轻易地办到,这么一来,你就可以不必大张旗鼓地使用 Java 和 C++ 等工具了。

直译式的语言通常比较高阶,程序比较好写,往往简短地几行程序就抵得过 Java 或 C++
 的一堆程序代码。因为不用编译而且高阶,所以这类语言的程序效率通常很差,又因为原
始程序代码暴露在外,所以拿它来写写工具程序自己用可以,但是拿来开发软件产品比较
不恰当(除非你不在乎原始码外流)。目前这类语言最常被用来开发网页服务器端的程序
,或者是设计软件的 prototype。

Python 有一些不错的语言特性,目前在国外算是满热门的;Ruby 是日本一位教授设计的
,但是这语言太新了,目前好象只有 Addison Wesley 的一本英文书和 O'Reilly 的一本
日文书可供参考;REBOL 则是我近期最喜欢的程序语言,非常特别,REBOL 语言的思维和
别的语言差异非常大,许多时候很接近英文句子。至于 Perl,我就没有研究了,台湾欧莱
礼公司已经有 Perl 的专家了,如果我现在去学 Perl 的话,短期内是不可能超越他的,
所以我看算了 :(


Hybrid Languages(混合式语言)
Java,C# 都是混合式语言,介于直译式语言和编译式语言之间(不管是在执行效能上或程
序简单性上)。

C# 的语言有许多奇怪的特色,但也有一些不错的特色。C# 的学习使用上的难度介于 Jav
a 和 C/C++ 之间。C# 是 Microsoft .NET 平台上最重要的语言,值得我们持续观察其后
续发展。至于 Java 我就不用多说了,相信 Sleepless in Java 的读者们应该都知道 Ja
va 是怎么一回事。

至于 Visual Basic,在 .NET 平台主推 C# 语言,而 VisualBasic .NET 的语言又比以前
复杂许多的情况下, Visual Basic 的前途似乎很不看好。

Compiling Languages(编译式语言)
C/C++,Delphi(Object Pascal)都是编译式语言。这几年来,C++ 已经变得越来越庞大
了,大多数的 C++ 程序员只用到(也只懂)C++ 功能的一小部份。想成为 C++ 语言真正
的高手,没有耗上三五年是不可能的。虽然 C++ 很复杂,但是真正想成为程序高手的人应
该都要懂 C/C++,重要的 API 都会有 C/C++ 的版本,由此可见 C/C++ 的重要性。至于 
Delphi,在 Microsoft .NET 推出之后会对 Delphi 造成一些打击(Microsoft .NET 的语
言名单中连 Scheme、Eiffel 和 Mercury 这种少用的语言都出现了,独缺 Delphi),但
是 Delphi 能透过 Kylix 来跨越 Windows 和 Linux,又是一个很大的吸引力,如果你想
要跨 Linux 和 Windows 平台的 RAD 工具(语言),目前 Delphi 似乎是最好的选择。


Assembly Languages(汇编语言)
使用汇编语言,你将尝试到一砖一瓦堆砌出程序的乐趣(或痛苦)。汇编语言可以说是最
接近硬件的语言,学会汇编语言,就可以对计算机的运作有相当程度的了解。不过,目前
连开发驱动程序都不太需要用到汇编语言了。恐怕只有做 DSP 和 OS 等极少部份的人需要
用到汇编语言。我也好久没写汇编程序了,以前 DOS 时代,我还用汇编语言写过一个 PE
 2。

程序语言学习顺序的建议
通常 Web Script 最简单,直译式语言其次,接着是混合式语言,和编译式语言,最麻烦
的是汇编语言。如果你完全没有程序经验,想开始学程序设计的话,你可以从 JavaScrip
t 着手,等到程序基础观念建立得差不多了,再往下学习直译式语言,然后再学习混合式
语言 ...,以此类推。

希望这篇文章能解决读者们选择程序语言的困扰。 
超全!!snowboy语音唤醒(树莓派4b) 通过snowboy进行树莓派的语音唤醒 阅读详情

相关推荐

用于可靠的钙钛矿薄膜瞬时光致发光模拟的拟合程序

简介 对光激发后的电荷载流子动态的研究对于确定太阳能电池的几个特性至关重要,例如,体和界面重组的数量以及向电荷传输层转移过程的速度。 瞬态光致发光(trPL)是用于研究这些特性的最流行的表征方法之一。 该实验是通过在样品上照射几纳秒的激光脉冲,并记录一段时间内的发光情况来进行的。辐射性重组的光生电荷载流子将引起太阳能电池的光子发射,而非辐射性重组的电荷载流子将不会对发光作出贡献。因此,可以测量到强度随时间递减的光致发光瞬态。(见图1表示trPL的测量和它的输出)。 图1. 一...

FluximAG的博客 2362

蔡学墉

我在BlogSpot開了兩個Blog,一個是「JerryLovesRebol.BlogSpot.com」,另一個是「RebolLovesJerry.BlogSpot.com」;前者是「言程序」Blog,內容是主流技術與前瞻技術的心得文章;後者是「Rebol This Rebol That」Blog,內容是和REBOL相關的消息與技術心得。我預期,REBOL是比較冷門的技術,所以雖然成立REBOL文

gongyuanh的专栏 715

功率电感的设计步骤

学习视频原链接截图1截图2。

qq_32419593的博客 4885

散文随笔:如何进入程序设计的领域[蔡学镛]

如何进入程序设计的领域 这一阵子,软件、网络大红,许多人对程序设计开始感兴趣,我收到好一些 Sleepless in Java专栏读者的来信,不少读者共同的问题是:如何进入程序设计的领域?所以我选这 个主题当作 Sleepless in Java 专栏「复刊」的第一篇文章。 写程序是很有趣的事,可以把自己的想法付诸实行。写程序的工具很简单,只要有一部PC,适当的开发环境,就可以上工了。这样有限的工

DXu的专栏 918

从TCGA官网获取新版count数据并精准转换为TPM的实战指南

本文详细介绍了从TCGA官网获取新版count数据并精准转换为TPM的实战指南。通过TCGAbiolinks工具下载原始count数据,结合GENCODE v36注释文件计算基因有效长度,最终实现count到TPM的标准化转换,确保数据完整性和分析可靠性。文章包含完整代码示例和常见问题解决方案,特别适合生物信息学研究人员参考。

weixin_27310417的博客 283

平面变压器PCB绕组设计实战:从原理到布局的工程考量

本文深入探讨了平面变压器PCB绕组设计的工程实践,从基础原理到布局优化,涵盖了电流密度、层间绝缘、绕组拓扑结构等关键参数。通过实战案例分享,解析了高频应用中的集肤效应、邻近效应等挑战,并提供了热管理和EMC优化的实用技巧,助力工程师在服务器电源、车载充电器等空间敏感场景实现高效设计。

weixin_42666036的博客 453

职业敏感度 (蔡学墉)

对工作相当投入的人,往往会有很高的「职业敏感度」,而且敏感的范围扩及周遭,甚至是一天二十四小时无所不在。职业敏感度往往会造成学习的进步以及工作的突破。如果你也培养出了高职业敏感度,基本上这是件好事。高职业敏感度的人有着把职业融入生活的本事。比方说,傅培梅女士上餐厅吃饭吃到一道好菜时,应该会不自觉地剖析起这道菜的素材和做法;David Foster(大卫佛斯特,名唱片制作人)在听到一首好歌时,应该会

zaowei21的专栏 3000

Pytorch transformers tokenizer 分词器词汇表添加新的词语和embedding

NLP添加新词汇

7322

如何进入程序设计的领域 (蔡学墉)

这一阵子,软件、网络大红,许多人对程序设计开始感兴趣,我收到好一些 Sleepless in Java专栏读者的来信,不少读者共同的问题是:如何进入程序设计的领域?所以我选这 个主题当作 Sleepless in Java 专栏「复刊」的第一篇文章。 写程序是很有趣的事,可以把自己的想法付诸实行。写程序的工具很简单,只要有一部PC,适当的开发环境,就可以上工了。这样有限的工具却可以创造无限的可能,

zaowei21的专栏 1530

美团mtgsig 1.2算法分析

mtgsig1.2的一些算法总结

记录一些web逆向的过程 3498

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

学习,是一条漫长的道路 (蔡学墉)

我在Java 1.0正式问世前就开始学习Java,这么多年过去了,到现在我的Java学习历程还没有停过。我阅读原文书,研究原始码,撰写程序,自认为走得扎实,不奢望一步登天。像我这样老式的学习方式,显然和现在的快餐主义背道而驰。从许多读者的来信和学生的反应中,我发现大多数的人对于Java的学习历程都差不多是:因为公司需要使用Java来进行服务器的计画,所以急急忙忙地学习Java语言,然后就开始使用J

zaowei21的专栏 1774

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Software Rush (蔡学墉)

许多人看到现在信息业很旺,于是纷纷想赶搭这一班列车,进入信息业掏金,软件业的技术门槛不若硬件业高,所以大家纷纷打算进入软件业,学个程序语言或网页设计之后,就开始写履历丢到各大公司。这感觉有点像是当时美国西部的掏金热(Gold Rush),我姑且称它为 Software Rush。我一点都不认为程序设计是一个简单的行业。在程序员光鲜的外表之下,其实辛苦处处,可以说是「人前强颜欢笑,人后珠泪暗弹」。本

zaowei21的专栏 1477

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Java 学习之道 (蔡学墉)

目前 Java 可以说是产业界和学术界最热门的语言,许多读者都很急切想把 Java 学好。除非像电影「骇课任务」(Matrix)一样能够把需要的专业技巧下载到脑海(女主角只花了几秒下载资料,就马上具备飞行员的技巧),或是武侠小说中的运功传送内力的方式,否则花上一段时间苦学是免不了的。花时间,不打紧,就怕方法错误,事倍功半。我认为,学习 Java 包括了下列的范畴: * 认识 Java 的原理* 学

新宾二亮子 836

垃圾!(蔡学墉)

台北市去年开始实施垃圾费随袋征收之后,垃圾量减少了许多,资源回收量也开始大增,大家都说这是个不错的政策。此次春节前,台北市政府为了便民,宣布两天开放不收垃圾费(不需专属垃圾袋),结果换来的是一场垃圾清运人员的噩梦。大量的垃圾堆积在各巷道路口,台北市成了垃圾城。不过这样的场景我可是处变不惊了。毕竟我的大学时代四年是在中坜度过,这四年中,中坜市不断地发生垃圾风波,有时候甚至整个桃园地区都浸在酸败腐臭的

zaowei21的专栏 2414

asp jsp cgi php之间的区别和优点

就我个人的意见,PHP只适合做小型的网站开发,大型的站点就很困难了(能做,但是很痛苦!)扩充性:1、PHP用光了自己的一堆函数以后,要扩充似乎是很困难的。据我一位玩PHP和c比较好的朋友说,“可以扩充,要用c来写,然后编译进PHP里面去”。请问,用PHP的朋友中有多少能达到这个水平的?2、ASP。如果你认为asp只是那几个response/request等对象,那你错了。个人认为,ASP只是一种技

Aspire for Future 1878

【平安科技】在线编程大赛活动 - 一道通过率只有1.5%的编程挑战题目

1. 活动名称:【现金大奖】平安科技在线编程大赛:一份“奇妙”的银行流水 题目详情: 一份银行流水数据,因打印模糊导致部分金额不清楚。                   收入、支出、余额满足以下3条规则:               1、收入、支出、余额三列都是数字             2、同一行收入和支出的值不能同时为非零值

优快云高校俱乐部官方博客 3023

软件人员的生涯规划

软件人员的生涯规划生涯规划,这么一个严肃而重要的主题,似乎应该找学者专家们来发表言论和研究报告才是,没有我这个年轻人说话的余地。只是,日昨在报纸上看到许多前职棒明星现今的遭遇之后,感触良多,我于是写了这篇文章。报载,许多前职棒明星,当时月领三十多万的高薪,现在居然在台北抽水站看守闸门,薪资也变成三万多。他们接受记者访问时,都会提到一句:「我一辈子都在打棒球,除了棒球之外,我没有别的专长。」这句话激

HERO 1010

React 性能:memo / useMemo / useCallback

讲清 memo/useMemo/useCallback 的配合与边界,先测量再优化,避开常见过早优化。

JudithHuang的博客 324

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 330

Claude Code 从入门到实战(一):安装、登录与第一个Vue项目

Claude Code 系列实战第 1 篇:先认识 Claude Code 的工作方式与任务循环,完成 npm 安装、登录与授权,通过让 Claude 理解一个 Vue 项目完成第一次实战任务,并辨析默认、自动接受编辑、Plan 规划等权限模式的差异与选择策略。

weixin_45284808的博客 204

DSH (DeepSeek Harness) Windows 升级安装指南20261107

注意:如果在普通窗口执行 nvm 提示找不到命令,或执行 nvm use 提示 Access is denied,请务必关闭当前窗口,重新打开一个管理员CMD 执行上述完整路径命令。找到 .credentials.yaml,将其重命名为 .credentials.yaml.bak(备份并使其失效)。Node.js Storage Location:可改到非系统盘(如 D:\dev\nvm,避免路径含空格或中文)。打开文件资源管理器,进入 C:\Users<你的用户名>.dsh\。

fengye207161的博客 183

SpringBoot「衣依」服装销售平台:144个Java文件180个接口,从挑衣服到收货评价整条链路都在

# SpringBoot「衣依」服装销售平台:144个Java文件180个接口,从挑衣服到收货评价整条链路都在 > 这是一套基于 Spring Boot 的服装销售平台源码,配套 `db.sql` 建表脚本,业务覆盖商品展示、购物车、订单流转、收货地址、订单评价、商品评论、在线客服、轮播图和资讯。形态是**前后台双端**:前台是顾客逛的商城,后台是管理员管的控制台。本文带你看清里面有什么、怎么跑

面朝大海 225
上一篇: 千呼万唤始出来,Firefox1.0简体中文版正式发布!!!
下一篇: Java语言之父James Gosling
zaowei21
博客等级 码龄25年 38粉丝 517原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值