语言和OS都不是关键

T
TeacherWei
楼主 (未名空间)

关键是你做的东西要有价值!
一个MCU就是几K到几十K RAM。OS都不关键。语言更无所谓了。
你可以把现成的work的C代码,扩展名从.c改成.cpp。然后写几个lambda function上去,照样编译运行。不能说增加了value,也不能说减少了value。仅此而已。
正因为如此,用rust给MCU写OS才是扯蛋的事情。我没有看到什么增加了的value。

做工程就像盖房子,用砖头石头,还是钢筋混凝土,有不同的美感,也都能做到实用的功能。更关键的是维护!维护了500年的宫殿群,也不是你一年新的高科技大厦能比的
。不管你是粉啥语言的,专注从一个刷题打工的角度去衡量项目的价值,是一件很扯淡的事情。
m
magagop

我認為Cpp在MCU上劃時代的進步,你可以看看QtMCU1.7,運行在STM32F7上,https://
youtu.be/EIoBvWTzkTY
如果用C,根本無法實現。如果用A系列和Linux,根本過不了安規。我們做的是pump
sensor,工作環境惡劣,啟動時間是毫秒級,工作電流幾毫安,根本不能用Linux。目
前沒用QtMCU,但是未來會試試。Lambda只不過是icing而已,很甜。另一個是
namespace,很香。


c
chebyshev

千万别相信你的manager。
【 在 magagop (magagop) 的大作中提到: 】
: 我認為Cpp在MCU上劃時代的進步,你可以看看QtMCU1.7,咝性赟TM32F7上,https://: youtu.be/EIoBvWTzkTY
: 如果用C,根本無法實現。如果用A系列和Linux,根本過不了安規。我們做的是pump : sensor,工作環境惡劣,啟動時間是毫秒級,工作電流幾毫安,根本不能用Linux。目
: 前沒用QtMCU,但是未來會試試。Lambda只不過是icing而已,很甜。另一個是
: namespace,很香。


p
penguinz

对大多数码农来说

最关键的是心态,或者说自信

这时候cpp和os就是两座山

翻过去或没翻过去的码农心态是不一样的
T
TeacherWei

CPP肯定有它的用途。MCU也不一样。你那个F7内存都512KB了。也算是非典型MCU了。

这种MCU编程,OS和App源码都是混在一起同时编译的。OS用纯C,App用CPP。没有丝毫
违和感。但是C和CPP的命名规范和代码风格都是不一样的。我的项目也是如此。我是故意保持这种精分状态的。

而且,这两部分mindset也不一样。就像有人指出的一样。CPP是不允许用指针的。因为各种container绝对足够了。这样做没毛病,但是生成的代码在时间和空间上严格讲也
是一种不可控。你不能用这玩意污染OS的C代码。

【 在 magagop(magagop) 的大作中提到: 】

: 我認為Cpp在MCU上劃時代的進步,你可以看看QtMCU1.7,運行在STM32F7上,https://

: youtu.be/EIoBvWTzkTY

: 如果用C,根本無法實現。如果用A系列和Linux,根本過不了安規。我們做的是
pump

: sensor,工作環境惡劣,啟動時間是毫秒級,工作電流幾毫安,根本不能用
Linux。目

: 前沒用QtMCU,但是未來會試試。Lambda只不過是icing而已,很甜。另一個是

: namespace,很香。


T
TeacherWei

这个说法很有趣。
这个版上那个ID centralla恶毒评论Cpp码农,应该就是这种心态。

【 在 penguinz(奉孝为先) 的大作中提到: 】
<br>: 对大多数码农来说
<br>: 最关键的是心态,或者说自信
<br>: 这时候cpp和os就是两座山
<br>: 翻过去或没翻过去的码农心态是不一样的
<br>

n
netghost

你題目不是語言和OS都不重要麼?怎麼到了內容就開始吹CPP了。

你這個就是一個庫,怎麼就劃時代了。這種嵌入式的gui用C的有一堆。

無限拔高,過度激動都沒什麼好處。

【 在 magagop (magagop) 的大作中提到: 】
: 我認為Cpp在MCU上劃時代的進步,你可以看看QtMCU1.7,咝性赟TM32F7上,https://: youtu.be/EIoBvWTzkTY
: 如果用C,根本無法實現。如果用A系列和Linux,根本過不了安規。我們做的是pump : sensor,工作環境惡劣,啟動時間是毫秒級,工作電流幾毫安,根本不能用Linux。目
: 前沒用QtMCU,但是未來會試試。Lambda只不過是icing而已,很甜。另一個是
: namespace,很香。


w
wdong

有道理。

【 在 penguinz (奉孝为先) 的大作中提到: 】
: 对大多数码农来说
: 最关键的是心态,或者说自信
: 这时候cpp和os就是两座山
: 翻过去或没翻过去的码农心态是不一样的

o
omgpop

中la这家伙连cpp是啥估计都不知道,多半是精神不正常随便翻点东西出来扯蛋的。

【 在 TeacherWei (TW) 的大作中提到: 】
: 这个说法很有趣。
: 这个版上那个ID centralla恶毒评论Cpp码农,应该就是这种心态。
:
: 对大多数码农来说
:
: 最关键的是心态,或者说自信
:
: 这时候cpp和os就是两座山
:
: 翻过去或没翻过去的码农心态是不一样的
:

m
magagop

看好了,我是來反駁樓主的,我不認為語言和OS不重要,我認為語言和OS很重要。幾乎是決定性作用。用C語言開發GUI,有各種違和感,就像開過自動汽車的回去開手動一樣。C語言適合OS和firmware,不適合GUI。但是混用C和Cpp,就必須用Cpp編譯器,以前
MCU根本沒有,現在有了,所以跨時代。有了Cpp後,MCU上就不需要別的語言了,完美
閉環。

【 在 netghost(Up to Isomorphism) 的大作中提到: 】

: 你題目不是語言和OS都不重要麼?怎麼到了內容就開始吹CPP了。

: 你這個就是一個庫,怎麼就劃時代了。這種嵌入式的gui用C的有一堆。

: 無限拔高,過度激動都沒什麼好處。

m
magagop

是不是典型MCU,不在於SRAM大小,而在於MMU、IOMMU,是否用虛擬地址。MCU也可以多核心、高頻率、大緩存,NXP那些多核MPC57xx也是MCU,而且是典型的MCU。

【 在 TeacherWei(TW) 的大作中提到: 】

: CPP肯定有它的用途。MCU也不一样。你那个F7内存都512KB了。也算是非典型MCU了。

: 这种MCU编程,OS和App源码都是混在一起同时编译的。OS用纯C,App用CPP。没
有丝毫

: 违和感。但是C和CPP的命名规范和代码风格都是不一样的。我的项目也是如此。我是故

: 意保持这种精分状态的。

: 而且,这两部分mindset也不一样。就像有人指出的一样。CPP是不允许用指针的。因为

: 各种container绝对足够了。这样做没毛病,但是生成的代码在时间和空间上严
格讲也

: 是一种不可控。你不能用这玩意污染OS的C代码。

: https://

: pump

: Linux。目

T
TeacherWei

注意我说的是“不是关键”。不等于“不重要”。

比如OS,选FreeRTOS还是UCOS,不是关键。已经稳定使用FreeRTOS的,绝不会轻易去跳船。

同理,MCU一旦做大了,RAM多了,GUI一定不会只有CPP一条路。一定有人会上Lua。我
预测前端一定走Typescript的路子。因为那些能带来value。

连龙飞船的GUI都是JavaScript了。

但是RTOS,C用得好好儿的,今后100年不变都可以了。绝对不会容忍CPP或者rust去污
染。因为没有value。

【 在 magagop(magagop) 的大作中提到: 】

: 是不是典型MCU,不在於SRAM大小,而在於MMU、IOMMU,是否用虛擬地址。MCU也可以多

: 核心、高頻率、大緩存,NXP那些多核MPC57xx也是MCU,而且是典型的MCU。

: 了。

: 有丝毫

: 我是故

: 。因为

: 格讲也

n
netghost

我還是覺得MCU支持複雜的GUI是給自己找事幹。當然我這是從產品角度出發,你們如果是賣這個東西的只要客戶需要就肯定會做。

一般來說複雜gui用C++的優勢是界面的控件比較naturally地match OO的概念,但這個
只是一部分。實際上gui開發裏面最重要的是IDE,說白了就是有東西讓你畫圖。

我當年在windows下面開發Win32 C API,MFC,Java都用過,在visual studio下面沒
有覺得MFC或者Java比C開發更容易。嵌入式設備裏面從界面的複雜程度來說不會更高。【 在 magagop (magagop) 的大作中提到: 】
: 看好了,我是來反駁樓主的,我不認為語言和OS不重要,我認為語言和OS很重要。幾乎
: 是決定性作用。用C語言開發GUI,有各種違和感,就像開過自動汽車的回去開手動一樣
: 。C語言適合OS和firmware,不適合GUI。但是混用C和Cpp,就必須用Cpp編譯器,以前
: MCU根本沒有,現在有了,所以跨時代。有了Cpp後,MCU上就不需要別的語言了,完美
: 閉環。
:
: 你題目不是語言和OS都不重要麼?怎麼到了內容就開始吹CPP了。
:
: 你這個就是一個庫,怎麼就劃時代了。這種嵌入式的gui用C的有一堆。
:
: 無限拔高,過度激動都沒什麼好處。
:

c
chebyshev

MSFT后来提供的windows接口从api,转向一大堆复杂的components了。OO必然进来。
也放弃了向后兼容性。之前1985年的dos软件在2005年的windows xp上跑是没问题的。
再然后才走向one run time的policy。

【 在 netghost (Up to Isomorphism) 的大作中提到: 】
: 我還是覺得MCU支持複雜的GUI是給自己找事幹。當然我這是從產品角度出發,你們如果
: 是賣這個東西的只要客戶需要就肯定會做。
: 一般來說複雜gui用C++的優勢是界面的控件比較naturally地match OO的概念,但這個
: 只是一部分。實際上gui開發裏面最重要的是IDE,說白了就是有東西讓你畫圖。
: 我當年在windows下面開發Win32 C API,MFC,Java都用過,在visual studio下面沒
: 有覺得MFC或者Java比C開發更容易。嵌入式設備裏面從界面的複雜程度來說不會更高。

c
chebyshev

OS是IBM发明的一个厂牌。
任何人都可以把一堆常用程序叫做OS,只要他能卖出去。
语言则不同。图灵机是第一个计算机语言。

【 在 magagop (magagop) 的大作中提到: 】
: 看好了,我是來反駁樓主的,我不認為語言和OS不重要,我認為語言和OS很重要。幾乎
: 是決定性作用。用C語言開發GUI,有各種違和感,就像開過自動汽車的回去開手動一樣
: 。C語言適合OS和firmware,不適合GUI。但是混用C和Cpp,就必須用Cpp編譯器,以前
: MCU根本沒有,現在有了,所以跨時代。有了Cpp後,MCU上就不需要別的語言了,完美
: 閉環。
:
: 你題目不是語言和OS都不重要麼?怎麼到了內容就開始吹CPP了。
:
: 你這個就是一個庫,怎麼就劃時代了。這種嵌入式的gui用C的有一堆。
:
: 無限拔高,過度激動都沒什麼好處。
: