
编程语言飞鸟集
文章平均质量分 79
学习和探讨C#、JS/TS、Rust、C++ 、Python、Cangjie等编程语言
functionMC
野生程序员,科技碎嘴皮;手撸小作文,肩扛C#TS!我是functionMC>>>function MyClass(){}
展开
-
编程深水区之并发⑥:C#的线程池
绝大多数情况下,我们都应该使用CLR线程池,而不是直接操作Thread,本章节介绍直接操作线程池的ThreadPool,但实际开发中也很少直接使用它。原创 2024-08-09 20:31:50 · 988 阅读 · 0 评论 -
编程深水区之并发⑤:C#的Thread线程
Windows、Linux和MacOS三大操作系统的进程和线程机制,实现上有一些差异,但大体的原理是差不多的。本章节讨论的进程和线程,以Windows操作系统为准。原创 2024-08-09 20:24:37 · 912 阅读 · 0 评论 -
编程深水区之并发④:Web多线程
Node的灵感来源于Chrome,更是移植了V8引擎。在Node中能够实现的多线程,在Web环境中自然也可以...原创 2024-08-06 19:53:42 · 1058 阅读 · 0 评论 -
编程深水区之并发③:Node.js的并发编程
在Node里耍多线程和多进程,会不会闪到腰?!原创 2024-08-06 19:45:31 · 822 阅读 · 0 评论 -
编程深水区之并发②:JS的单线程事件循环机制
如果某天有人问你,javascript是单线程还是多线程,Node.js是单线程还是多线程,你如何回答?原创 2024-08-05 16:05:32 · 779 阅读 · 0 评论 -
编程深水区之并发①:什么是并发编程
并发编程是一种让程序能够执行多个任务的编程技术,多个任务的执行时间有重合,如交替执行、同时执行等。相对于传统的从上到下依次同步执行代码,我们也称并发编程为异步编程。目前,常见的并发模型主要有两种,一是多线程模型,二是单线程事件循环模型。原创 2024-08-05 15:59:53 · 609 阅读 · 0 评论 -
万字长文说说C#和Rust_Cangjie们的模式匹配
C#11新增列表模式后,这个从C#6就开始的特性,算是拼接好了模式匹配的最后一块拼图。对比Swift、Rust或Cangjie这类先天支持模式匹配的语言,能否一战?今天就来全面battle一下。Swift、Rust和Cangjie的模式匹配,一肪相承,这次对比,赶个热度,选取Cangjie。(Swift不熟悉,略懂Rust,据说Rust的模式匹配是抄Swift的?原创 2024-07-26 13:53:53 · 883 阅读 · 0 评论 -
第壹章第15节 C#和TS语言对比-泛型
C#提供了泛型的完整支持,不仅在编译时,运行时仍然保留泛型的类型信息,同时提供了更加丰富的泛型约束和更加全面的协变逆变支持。TS的泛型,在语法表现形式上,和C#差不多,但本质上两者是不一样的。TS的泛型,和Java一样,使用类型擦除机制,泛型只存在于编译时,在运行时,泛型的类型信息会被移除。原创 2024-06-13 19:35:50 · 2302 阅读 · 0 评论 -
第壹章第14节 C#和TS语言对比-委托事件(仅C#)
水一篇,因为《函数方法》章节已经说了,但那个章节比较长,知识点又多,可能有人会看不到。委托事件是C#中的一个难点,但我觉得,和TS/JS中的函数表达式放在一起时,委托和事件就变得很简单了。原创 2024-06-12 19:56:24 · 741 阅读 · 1 评论 -
第壹章第13节 C#和TS语言对比-原型(仅TS)
JS/TS中的原型对象和原型链是整个类型系统的底层原理,示例代码为JS,TS和UTS也是一样。实际应用开发中,尽少会碰原型,但听说面试时经常会问,我是纯野生程序员,没有面过,不清楚!原创 2024-06-09 22:01:01 · 472 阅读 · 0 评论 -
第壹章第12节 C#和TS语言对比-多态
多态概念比较抽象,我的经验是,不要去试图理解文字概念,我也没见过能用文字说清楚的,直接用代码干就是,熟悉几个套路用法,自然而然就明白了。原创 2024-06-07 21:01:57 · 747 阅读 · 1 评论 -
第壹章第11节 C#和TS语言对比-继承
C#中的继承很简单,但延伸到多态时,学习曲线会比较陡,而多态又是C#中非常重要的特性。TS的继承,底层通过原型链来实现,但都已经封装好,我们直接操作类,和C#差不多。而TS的多态,是鸭子类型兼容,很不习惯,好在前端开发应该极少会涉及,了解即可。原创 2024-06-06 21:39:14 · 734 阅读 · 0 评论 -
第壹章第10节 C#和TS语言对比-接口
后端框架中,几乎处处皆接口,可以说是面向接口编程。它的主要作用有二,一是用于约束其实现类应该具有哪些功能或行为;二是利用其语法特性-多态,实现依赖注入IOC。本节主要说作用一,作用二在《多态》章节中说。TS引入了接口(JS没有接口,TS编译为JS后,接口不会生成代码),它也可以用于约束其实现类的行为,但因为前端很少使用类,所以这个功能很少用到。在前端,接口主要用于定义字面量对象的类型,和type类似,在纯后端人眼里,可能会觉得即奇葩又鸡嫩...原创 2024-06-05 13:18:36 · 446 阅读 · 0 评论 -
第壹章第9节 C#和TS语言对比-枚举
C#中,枚举本质上是命名的整数值常量,其值必须是整数型,数据结构上是值类型。而TS中的枚举编译后实际上是一个对象,通过立即执行函数来实现,它的值即可以是整数,也可以是字符串,比较多骚操作。原创 2024-06-05 13:12:48 · 257 阅读 · 0 评论 -
第壹章第8节 C#和TS语言对比-类
类的用法,C#和TS非常相似,UTS和TS基本保持一致。实际开发中,C#的所有代码都必须在类中,而TS的客户端开发,则很少会用到class,主要使用type或interface,为什么?正文解释...原创 2024-06-02 20:00:17 · 896 阅读 · 0 评论 -
第壹章第7节 C#和TS语言对比-函数方法
这节难度有点飙升,我把委托、事件、捕获、闭包、扩展方法等全放一块了。放一块的原因,就是为了让这些概念变得简单些。另外,关于函数和方法这两个名称,有些人觉得在全局使用时,叫函数;在类或对象中时,叫方法。我认为,两者是一个意思,可以互换。原创 2024-05-31 20:01:18 · 1234 阅读 · 0 评论 -
第壹章第6节 C#和TS语言对比-数组集合
本节比较长,但可以让我们一次性彻底掌握数组集合。编程的很大一部分工作,是访问和操作数据,而其中使用频率最高的数据形式,就是数组集合。C#毕竟是后端语言,所以提供了更加丰富的集合类型,而且还有非常非常非常强大的LINQ查询语法,而TS就相对简陋些,毕竟是前端语言。文末补充了元组,这玩意我很少用,具体原因详见正文...原创 2024-05-30 21:07:01 · 1003 阅读 · 0 评论 -
第壹章第5节 C#和TS语言对比-字面量对象
无论在C#,还是在JS/TS/UTS中,万物皆对象。创建对象的方式有两种,一是通过类的实例化,二是直接通过字面量。JS/TS/UTS中,创建字面量对象非常普遍,JS中可以随意创建,且对象的属性和方法可以随意增减覆盖;但TS/UTS是强类型,必需为字面量对象定义类型,且对象的属性方法不能随意增减覆盖,TS/UTS中,定义字面量对象的类型,有两种方式,一是interface,二是type。建议使用type,本节以type为例,关于interface的使用,详见《接口》。而C#中,也通过匿名对象的方式来创建...原创 2024-05-29 20:53:09 · 513 阅读 · 0 评论 -
第壹章第4节 C#和TS语言对比-基本类型
基本类型,包括布尔、数值、字符/字符串、null、动态类型(any/dynamic)等最基础的数据类型,有时有叫原始类型,类型名称一般使用小写。C#和TS,在这块有几个差异,一是字符串,二是null、三是JS/TS独有的几个基本类型,如undefined、void、symbol。原创 2024-05-28 20:11:39 · 351 阅读 · 0 评论 -
第壹章第3节 C#和TS语言对比-类型概述
类型在编程开发语言中,占据核心位置,甚至可以简单的概况为:编程开发就是在定义和使用类型。C#和TS的数据类型,可以划分为值类型和引用类型,还有原始类型、基本类型等等这些称谓,个人建议按值类型和引用类型来划分,是比较准确的。原创 2024-05-25 20:16:23 · 933 阅读 · 0 评论 -
第壹章第2节 C#和TS语言对比-代码组织方式
C#和TS的基础语法热身后,在深入语言之前,有必要搞清楚C#和TS代码组织方式。C#和TS都是面向对象语言,但前者是类型语言,所有代码都必须包含在类中(此处类是一个广义概念,它还包括结构、枚举、接口等);后者是函数式语言,函数可以作为值传递和返回,有全局作用域,代码不需要包含在类中。这种差异,导致两者的代码组织方式,存在较大差异。原创 2024-05-24 20:43:24 · 2304 阅读 · 0 评论 -
第壹章第1节 C#和TS/UTS语言对比-基础语法
C#、JS/TS/UTS的最基础语法,包括了变量、常量、运算符、控制语句和作用域。我觉得大家应该可以在5分钟之内看完。。。what!开个玩笑!大家可以多看看作用域这节,还是费了点心思来缕清楚的。原创 2024-05-23 19:54:50 · 1069 阅读 · 0 评论 -
第零章 前言
既然已经来到全栈,无论是从前端到后端,还是从后端到前端,咱们应该都是有一定编程基础的,所以这个系列的风格将是短平快,比较少解释性的阐述,大多数问题使用代码来说明,尽量少废话。但是,第一章关于C#和TS/UTS语言的学习,会细碎一些,首要目标是覆盖到绝大多数知识点,其次才是尽量简明扼要。原创 2024-05-22 20:52:37 · 508 阅读 · 0 评论