作者;蔡学墉 除非你像我一样学程序语言只是为了到处献宝,否则你在学一套程序语言前,应该先仔细 评估到底要学哪一套。每个程序语言的用途都有很大的差异,走了冤枉路可能会耽误到计 画实作的进程。 我大致上把程序语言分成五类,分述如下: 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 着手,等到程序基础观念建立得差不多了,再往下学习直译式语言,然后再学习混合式 语言 ...,以此类推。 希望这篇文章能解决读者们选择程序语言的困扰。
相关推荐
STM32外围电路硬件解析
复位 :让MCU回到最开始的状态。并且从头开始,重新执行程序 我们什么时候需要复位? 1.烧录的时候 2.程序跑飞了的时候 3.上电复位(上电的时候需要复位) 复位方式: 1.上电复位: --- 一定要有 MCU的Reset是复位引脚,当这个引脚为低电平时,
蔡学墉
我在BlogSpot開了兩個Blog,一個是「JerryLovesRebol.BlogSpot.com」,另一個是「RebolLovesJerry.BlogSpot.com」;前者是「言程序」Blog,內容是主流技術與前瞻技術的心得文章;後者是「Rebol This Rebol That」Blog,內容是和REBOL相關的消息與技術心得。我預期,REBOL是比較冷門的技術,所以雖然成立REBOL文
Spring AI 实战:5 分钟搭建你的第一个 AI 应用(含完整代码)
能力关键 API适用场景基础对话简单问答、文本生成流式输出实时打字机效果@Bean模型需要调用外部工具结构化输出需要返回 Java 对象多轮对话聊天机器人场景Spring AI 让 Java 开发者可以用最熟悉的方式(Spring Boot + Maven)进入 AI 应用开发领域,不用学新语言,不用换框架,这是它最大的优势。但目前为止,我们的 AI 应用只能回答"它脑子里已有的知识"。如果让它读懂你自己的技术文档、公司内部知识库呢?这就是下一篇文章的主题——RAG(检索增强生成)实战。
散文随笔:如何进入程序设计的领域[蔡学镛]
如何进入程序设计的领域 这一阵子,软件、网络大红,许多人对程序设计开始感兴趣,我收到好一些 Sleepless in Java专栏读者的来信,不少读者共同的问题是:如何进入程序设计的领域?所以我选这 个主题当作 Sleepless in Java 专栏「复刊」的第一篇文章。 写程序是很有趣的事,可以把自己的想法付诸实行。写程序的工具很简单,只要有一部PC,适当的开发环境,就可以上工了。这样有限的工
数字设计实验:RISC-V指令单周期CPU
本文旨在介绍RISC-V指令单周期CPU的设计思路和仿真实现(含代码)
图相似度模型(论文篇)
图相似度模型
职业敏感度 (蔡学墉)
对工作相当投入的人,往往会有很高的「职业敏感度」,而且敏感的范围扩及周遭,甚至是一天二十四小时无所不在。职业敏感度往往会造成学习的进步以及工作的突破。如果你也培养出了高职业敏感度,基本上这是件好事。高职业敏感度的人有着把职业融入生活的本事。比方说,傅培梅女士上餐厅吃饭吃到一道好菜时,应该会不自觉地剖析起这道菜的素材和做法;David Foster(大卫佛斯特,名唱片制作人)在听到一首好歌时,应该会
计算机视觉(相机标定;内参;外参;畸变系数)
目录 一、预备知识 1、坐标系变换过程(相机成像过程) (1)相机坐标系转换为图像坐标系(透视投影变换遵循的是针孔成像原理) (2)齐次坐标的引入原因:(为什么引入齐次坐标???) 2、内参与外参矩阵的构成 3、畸变参数 二、相机标定 1、张正友标定法(光学标定)及其求解思路 2、求解内参矩阵与外参矩阵的思路: (1)计算内参与外参矩阵的乘积M (2)求解内参矩阵A (3)求解外参矩阵(R1 R2 T) 三、参数优化 1、L-M算法 2、相机标定步骤 四、相关代码及其实验结.
如何进入程序设计的领域 (蔡学墉)
这一阵子,软件、网络大红,许多人对程序设计开始感兴趣,我收到好一些 Sleepless in Java专栏读者的来信,不少读者共同的问题是:如何进入程序设计的领域?所以我选这 个主题当作 Sleepless in Java 专栏「复刊」的第一篇文章。 写程序是很有趣的事,可以把自己的想法付诸实行。写程序的工具很简单,只要有一部PC,适当的开发环境,就可以上工了。这样有限的工具却可以创造无限的可能,
CSR-DCF视频目标跟踪源码运行笔记
论文基本信息 论文标题:Discriminative Correlation Filter with Channel and Spatial Reliability 论文作者:Alan Lukezic等 论文出处:CVPR 2017 文章链接:https://arxiv.org/abs/1611.08461 补充材料:https://www.semanticscholar.org/paper/D...
ICESat-2数据下载及处理分析随笔
ICESat-2全称是Ice,Cloud and land Elevation Satellite -2。看名字我们能知道它的任务是测ice,cloud和land elevation,而且这是一个Satellite,是一颗卫星。那么这里我们就要分清ICESat-2和ATLAS的关系,ICESat-2是星载平台,是一个space observatory,ATLAS是这个星载平台上搭载的单光子激光雷达系统。
学习,是一条漫长的道路 (蔡学墉)
我在Java 1.0正式问世前就开始学习Java,这么多年过去了,到现在我的Java学习历程还没有停过。我阅读原文书,研究原始码,撰写程序,自认为走得扎实,不奢望一步登天。像我这样老式的学习方式,显然和现在的快餐主义背道而驰。从许多读者的来信和学生的反应中,我发现大多数的人对于Java的学习历程都差不多是:因为公司需要使用Java来进行服务器的计画,所以急急忙忙地学习Java语言,然后就开始使用J
学Simulink——基于Simulink的扰动观测器(DOB)补偿坡道重力分量
(质量5kg,坡度30°,目标速度1m/s)为例,基于Simulink搭建“DOB+PI”复合控制仿真平台,从系统建模、DOB算法推导、离散化实现到Simulink模块搭建,提供模块化模型、核心代码及参数整定表,帮助工程师彻底解决重力等恒值扰动引起的稳态误差问题。采用双线性变换(Tustin): s=Ts2z+1z−1,其中 Ts为控制周期。模块相加(注意符号:ufinal=upi−ucomp或 upi+ucomp,取决于扰动定义方向,此处假设重力为正,控制力需反向抵消,故为减)。
Software Rush (蔡学墉)
许多人看到现在信息业很旺,于是纷纷想赶搭这一班列车,进入信息业掏金,软件业的技术门槛不若硬件业高,所以大家纷纷打算进入软件业,学个程序语言或网页设计之后,就开始写履历丢到各大公司。这感觉有点像是当时美国西部的掏金热(Gold Rush),我姑且称它为 Software Rush。我一点都不认为程序设计是一个简单的行业。在程序员光鲜的外表之下,其实辛苦处处,可以说是「人前强颜欢笑,人后珠泪暗弹」。本
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
Java 学习之道 (蔡学墉)
目前 Java 可以说是产业界和学术界最热门的语言,许多读者都很急切想把 Java 学好。除非像电影「骇课任务」(Matrix)一样能够把需要的专业技巧下载到脑海(女主角只花了几秒下载资料,就马上具备飞行员的技巧),或是武侠小说中的运功传送内力的方式,否则花上一段时间苦学是免不了的。花时间,不打紧,就怕方法错误,事倍功半。我认为,学习 Java 包括了下列的范畴: * 认识 Java 的原理* 学
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
垃圾!(蔡学墉)
台北市去年开始实施垃圾费随袋征收之后,垃圾量减少了许多,资源回收量也开始大增,大家都说这是个不错的政策。此次春节前,台北市政府为了便民,宣布两天开放不收垃圾费(不需专属垃圾袋),结果换来的是一场垃圾清运人员的噩梦。大量的垃圾堆积在各巷道路口,台北市成了垃圾城。不过这样的场景我可是处变不惊了。毕竟我的大学时代四年是在中坜度过,这四年中,中坜市不断地发生垃圾风波,有时候甚至整个桃园地区都浸在酸败腐臭的
IEM模型,地表粗糙度模拟
利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟
asp jsp cgi php之间的区别和优点
就我个人的意见,PHP只适合做小型的网站开发,大型的站点就很困难了(能做,但是很痛苦!)扩充性:1、PHP用光了自己的一堆函数以后,要扩充似乎是很困难的。据我一位玩PHP和c比较好的朋友说,“可以扩充,要用c来写,然后编译进PHP里面去”。请问,用PHP的朋友中有多少能达到这个水平的?2、ASP。如果你认为asp只是那几个response/request等对象,那你错了。个人认为,ASP只是一种技
【平安科技】在线编程大赛活动 - 一道通过率只有1.5%的编程挑战题目
1. 活动名称:【现金大奖】平安科技在线编程大赛:一份“奇妙”的银行流水 题目详情: 一份银行流水数据,因打印模糊导致部分金额不清楚。 收入、支出、余额满足以下3条规则: 1、收入、支出、余额三列都是数字 2、同一行收入和支出的值不能同时为非零值
软件人员的生涯规划
软件人员的生涯规划生涯规划,这么一个严肃而重要的主题,似乎应该找学者专家们来发表言论和研究报告才是,没有我这个年轻人说话的余地。只是,日昨在报纸上看到许多前职棒明星现今的遭遇之后,感触良多,我于是写了这篇文章。报载,许多前职棒明星,当时月领三十多万的高薪,现在居然在台北抽水站看守闸门,薪资也变成三万多。他们接受记者访问时,都会提到一句:「我一辈子都在打棒球,除了棒球之外,我没有别的专长。」这句话激
React 性能:memo / useMemo / useCallback
讲清 memo/useMemo/useCallback 的配合与边界,先测量再优化,避开常见过早优化。
V8 机制、手写核心函数与 TypeScript 类型体操
或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",
Claude Code 从入门到实战(一):安装、登录与第一个Vue项目
Claude Code 系列实战第 1 篇:先认识 Claude Code 的工作方式与任务循环,完成 npm 安装、登录与授权,通过让 Claude 理解一个 Vue 项目完成第一次实战任务,并辨析默认、自动接受编辑、Plan 规划等权限模式的差异与选择策略。
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\。
SpringBoot「衣依」服装销售平台:144个Java文件180个接口,从挑衣服到收货评价整条链路都在
# SpringBoot「衣依」服装销售平台:144个Java文件180个接口,从挑衣服到收货评价整条链路都在 > 这是一套基于 Spring Boot 的服装销售平台源码,配套 `db.sql` 建表脚本,业务覆盖商品展示、购物车、订单流转、收货地址、订单评价、商品评论、在线客服、轮播图和资讯。形态是**前后台双端**:前台是顾客逛的商城,后台是管理员管的控制台。本文带你看清里面有什么、怎么跑
1万+



被折叠的 条评论
为什么被折叠?



