c#抓取网页数据(Red语言功能不弱 )

优采云 发布时间: 2022-04-18 12:33

  c#抓取网页数据(Red语言功能不弱

)

  Red 语言不是很流行的语言,它是从 REBOL 语言演变而来的,但是 Red 和它的母语 REBOL 甚至都没有进入前 50 名编程语言排名(根据最新的 TIOBE 排名)。

  但是,Red 语言是一种轻量级的编程语言,小巧玲珑,但不弱。所谓轻量级是指整个语言的写法比较接近常人的思维,接近高级语言,所以写起来很方便,编程和运行环境都非常好简单的。实际上,只有一个可执行文件。功能不弱,体现在以下几个方面:跨平台,支持解释和运行,支持编译和运行,支持内置语言级别的图形界面(GUI)开发,方便网络编程能力(例如发送电子邮件、抓取网页)等经常可以实现声明)。

  

  现在,让我们仔细看看英文原文。

  注意:我们的翻译会添加一些必要的解释。

  Red 是一种编程语言,可放入大约 1MB 的单个可执行文件中。无需安装,无需设置。

  Red是一种编程语言,它的主程序文件只有1M字节左右。不需要安装,也不需要设置。

  Red 是免费和开源的。

  Red 是免费和开源的。

  Red 被解释,但可以编译您的代码并生成单个独立的可执行文件。

  Red 语言是解释性的,但也可以编译代码(执行),并且只能生成一个可执行文件。

  * 注意:你也可以使用共享链接库来减少编译时主程序的大小。

  Red 在解释之前会进行一些编译,因此速度非常快。

  Red在解释和运行程序的时候,也会先做一些编译工作,让程序运行得更快。

  红色很简单。它的代码很干净,一点也不臃肿。

  Red 是轻量级的,代码(用 Red 编写)干净且不会臃肿。

  截至 2018 年 10 月,Red 正在开发中(alpha),但目标是:

  Red 自 2018 年以来一直在开发,目前处于 alpha 阶段,但其目标是:

  - 多平台;

  支持多种平台

  - 具有跨平台的原生GUI系统,具有UI方言和绘图(图形)方言;

  原生图形界面(GUI)系统,支持跨平台,依赖UI方言和绘图方言。

  *注:方言(dialect [ˈdaɪəlekt])是一种自REBOL语言以来就存在的“子语言”,方言一般用于某种特定的功能范围。

  - 作为一种全栈编程语言,即从非常低到非常高的级别。

  成为“全栈”编程语言,即从非常低级到非常高级(在这种情况下,Red 既像低级语言一样高性能,又像高级语言一样易于编写)。

  *注:所谓“全栈”一般是指开发者具备从后端到前端到网络和数据库的综合开发能力。前台的各种开发任务,从下往上。

  红色是 Rebol 的开源演变。如果你想尝试一些 Red 中还没有的功能,你应该下载 Rebol 并尝试一下。然而,红色是未来。

  Red 语言是 Rebol 语言的开源演变。如果你想尝试一些 Red 还没有的功能,可以尝试下载 Rebol 来体验一下。然而,红色语言是未来。

  *注意:Rebol 语言多年未更新。

  Red 由 Nenad Rakocevic 领导的一群人开发。

  Red 由 Nenad Rakocevic 领导的团队开发。

  下面通过一个小例子来体验一下Red语言程序的风格。

  红色【需要:查看】

  看法 [

  标题“加法演示”

  f1:字段“3”

  f2:字段“5.6”

  按钮“添加” [

  t1/text: rejoin [f1/text " + " f2/text " = " ((to float! f1/text) + (to float! f2/text)) ]

  ]

  返回

  t1:文本“结果将在此处显示”200

  ]

  这段代码可以在Windows或者Mac OS下运行(目前Red语言的Linux版本好像不支持GUI编程),运行后的结果如下图所示

  

  点击“加法”按钮后,对话框底部的文字会显示两个数的加法计算结果:

  

  可以看到,用Red语言实现一个图形界面程序就是这么简单,不需要任何额外的IDE开发环境,可以用文本编辑器编程,也不需要在类似JAVA的虚拟机上运行语言。老的编程驱动直接编译成操作系统对应的原生应用是不是有些诱惑?作为一个精通十几种语言的自主开发者,我想不出有什么语言可以做到这一点。

  顺便提一下各种语言的优缺点。请注意,一家之言仅供参考。另外,也不因此而推荐Red语言。相反,红语言现阶段要真正承担起一个生产系统的开发任务,显然是困难重重的:

  让我们从 2019 年 8 月的 TIOBE 编程语言开发列表中按顺序挑选主要语言:

  Java:非常好,可以算是全栈语言,但是越来越臃肿了。Eclipse、Maven以及各种配置,对于初学者甚至老程序员来说,构建新的开发环境都需要大量的准备时间。另外,JVM的存在使得运行效率低于原生C/C++等语言开发的程序。

  C:经典,在一些低级开发中仍然广泛使用,但毕竟在编写和维护方面存在不便和缺陷,经常被人诟病可能是指针操作导致的crash。

  Python:一种易于使用且具有丰富库的解释型高级计算机语言。它也是一种全栈语言。它被广泛使用,尤其是在当今蓬勃发展的人工智能中。缺点,目前为止,性能比较低,并发编程(多线程)能力较弱,代码不易加密,图形界面开发能力不强。

  C++:也是经典的面向对象开发语言。可惜最终面向对象的实现路径过于复杂,整体编程难度较高,尤其是接口编程。底层编程的效率还不错。

  C#:它也是一种优秀的开发语言。它基本上具有Java的大部分优点,并具有便捷的GUI开发能力(结合Visual Studio)。不幸的是,该平台仅限于Windows平台。其他平台虽然有方法,但是不方便。

  Visual Basic:上手容易,界面简单,但不是搭建大型系统的首选,面向对象编程也比较杂乱,也仅限于Windows平台。

  Javascript:在浏览器和从Node.JS开始的后端开发领域都有不错的表现,但我总觉得把前端语言转换成后端语言是“被迫”的。此外,Javascript 对于处理图形界面不是很好。完美,当然 HTML 本身并不完美。主要缺点是开发比较杂乱,不方便,即使是现在很多WEB框架的情况下也是如此。

  PHP:只适合网页,面向对象的处理也很通融。

  Objective C 和 Swift:都不错,但暂时主要用在 iOS 上。

  SQL:仅用于数据库操作;

  Ruby:与Python类似的情况;

  Delphi/Object Pascal:曾经很流行,并没有被认为是最方便的GUI开发语言(实际上它混淆了Delphi和它所依赖的Pascal语言),可惜商业化并没有跟上,虽然后来有一个免费的Lazarus,但是丢失的用户无法恢复。另外,Pascal语言写起来真的很麻烦。

  汇编语言:不用说,太繁琐了,普通人用它来开发是不可能的。

  Go语言(Golang):近年来后端开发的新生力量,为后端开发而生,语言层面支持的并发能力和便捷的网络开发支持是其表现之一。非常优秀,还有很多第三方库,可惜GUI开发能力有缺陷,暂时只适合后台开发。

  其他语言如 R、Dart、Rust、Lua、Scala 等仍然局限在某个应用领域,或者说专注于解决某些问题,而且大部分还是有一些不足的地方。

  最后是红语言的官网,有兴趣的可以试试,直接下载语言的主程序(不带安装包),运行时会自动配置环境第一次运行,所以建议先放到固定目录下再运行Down。

  另外,友情提示,Windows版Red运行似乎有问题,会出现类似下图的提示:

  

  使用下图所示的方法可以正常工作:

  

  也可以写一个批处理文件red.bat,放到可以找到的目录下。内容类似于:

  "d:\tools\red\red.exe" %*

  就是这样,运行效果如下图所示:

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线