摘要:周末在網上閑逛,發現了一個叫波蘭程序員,從年開始,開發一個叫做的語言。注意,不是語言啊,在字母上還有一撇,這是個波蘭字母,我搜了一下發音好像有點像赤。
周末在網上閑逛, 發現了一個叫Piotr Fusik波蘭程序員,從2011年開始,開發一個叫做?的語言。?
GitHub :https://github.com/pfusik/cito
注意,不是C語言啊,在字母C上還有一撇,這是個波蘭字母,我搜了一下發音好像有點像“赤”。
他一個人整整維護了10年!
這個語言是干嘛的呢??
當然可以用它去寫程序,不過它的厲害之處在于:可以自動編譯成 C, C++, C#, Java, JavaScript, Python, Swift, TypeScript and OpenCL C, 是不是很酷?!
我來了興致,決定嘗試一下。?
?使用C#寫的, 需要 .NET 5.0, 這并不難,一會兒就安裝好了。
然后用"赤"語言寫個Hello World:?
public class HelloCi{ public static void SayHello() { Console.WriteLine( "Hello, world!"); }}
滿滿的C# Style 。?
完成了“赤”語言源碼, 然后就可以把它編譯成各種其他語言了。??
先試試Python :cito -o hello.py hello.ci ?
結果如下:
class HelloCi: @staticmethod def say_hello(): print("Hello, world!")
再試試JavaScritpt :cito -o hello.js hello.ci ?
"use?strict";function HelloCi(){}HelloCi.sayHello = function(){ console.log("Hello, world!");}
編譯成C語言會是什么樣?cito -o hello.c hello.ci ?? ??
#include #include #include?"hello.h"struct HelloCi {};void HelloCi_SayHello(void){ puts("Hello, world!");}
總之,一次編寫,跨語言到處編譯,看起來非常牛的樣子。
沒有深入嘗試,但是我想這哥們應該會在編譯以后的代碼中體現各個語言的最佳實踐,而不是拼湊的垃圾代碼。?
可是這樣的語言有什么用呢??
比如用?怎么去寫Web程序?
對不起,沒有類庫和框架,沒有生態,得從頭寫起。
即使是哼哧哼哧寫出來了,如何編譯成別的語言呢?
每個語言都有自己獨特的類庫,所以也編譯不了 —— 得了解所有語言的所有類庫的所有細節,估計只能神才能辦到吧。
?這樣的語言,只能寫那些完全獨立,不依賴第三方類庫的程序,比如Piotr Fusik用它實現了圖像解碼器,加密、解密等工具。?
但是這樣的程序又有多少呢?
可是這哥們居然堅持了10年之久,就是憑興趣做事,這是真愛啊。
我的知識星球“碼農翻身”的球友“孔令賢”說:?
這種項目在現實中沒什么卵用,但作為個人業余時間的興趣和研究,對編程語言底層邏輯的基本功的提升卻大有裨益。如果跟工作相關,那自然最好,否則拿出來吹吹牛逼當做茶余飯后的消遣也還不錯,讓人眼前一亮
確實是這樣,做這樣的項目需要精通多達10種編程語言,同時精通編譯原理,對個人的技術功力大有提升。?
我到LinkedIn看了一下,他經歷豐富,2004年從華沙大學畢業以后,做過兼職,在公司做過全職,自己開公司干過,現在在Intel,做高級編譯器工程師。
我想他應該不是996,應該沒有無窮無盡的需求,他有時間、有精力十年如一日地維護這樣的項目,追隨自己的興趣。?
這樣程序員多了,一定會產生偉大的技術發明和創造。
相信大家都有這樣的體驗:高強度,滿負荷、被逼迫的軟件活動只會產生垃圾。
好的、有創造性的想法通常產生在自己感興趣的領域,在適度的壓力下,在不斷的追求中,突然靈機一動想出來的。
“有閑”很重要。?
年輕時我也有自己的夢想:
可是,夢想敗給了現實。?
我絲毫不懷疑中國有很多天才程序員,只是絕大多數都被幾座大山壓著,每天累得要命,沒有機會用自己的聰明和才智去創造。
算了,不說了,我去干活去了。?
(完)
最后,再介紹一下我的一個備份號“想躺平的程序員”,防止被人投訴后失聯,請小伙伴們保存一下吧。
這個號不會空著,經常會發一下輕松有趣的東西,讓大家在緊張的工作之余樂呵一下。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/123961.html
摘要:登陸通過動態獲取的和進行登陸操作,給授權。發表博文核心操作,未來支持更多業務邏輯。同時保證賬號的安全。預覽博客小助手正在申請申請成功開始登陸登陸成功開始發表發表成功地址是安全退出 前言 我是在第一個版本發布了之后的第二天才發現這個bug的,因為segmentfault每天只允許發表10篇博文,而我,不知道。 因為最早的時候,這個項目我從未想著對外發布,但是嘛,入鄉隨俗,javasc...
摘要:昨天在我在國外網站上看到一篇文章,作者分享了他自學編程個月后找到工作的經歷。而本文中,我主要針對想要通過學習編程找工作的角度來談。我在年月犯了一個錯誤我認為首要任務是找到一份前端開發的工作。 昨天在我在國外網站 reddit 上看到一篇文章,作者分享了他 自學編程 9 個月后找到工作 的經歷。文章不到一天就得到3千多贊,2百條回復。我看了下內容,非常中肯,其中有不少建議也是我在編程教室...
摘要:看起來沒有集合框架,線程,等那么耀眼,但它可是很多框架的基礎啊回復反射查看相關文章,先把基礎學會,后面的得用到它。 回頭看看, 我進入Java 領域已經快15個年頭了, 雖然學的也一般, 但是分享下我的心得,估計也能幫大家少走點彎路。[入門]我在2001年之前是C/C++陣營, 有C和面向對象的基礎, 后來轉到Java ,發現沒有指針的Java真是好簡單, 另外Java 的類庫好用的讓...
摘要:現在,我們想要統計的是網站的在線人數。隔一段時間去做某事,這肯定是定時器的任務呀。定時器應該在服務器一啟動的時候,就應該被創建了。定時器掃描容器的時候,可能是獲取不到所有的的。 從第一篇已經講解過了監聽器的基本概念,以及Servlet各種的監聽器。這篇博文主要講解的是監聽器的應用。 統計網站在線人數 分析 我們在網站中一般使用Session來標識某用戶是否登陸了,如果登陸了,就在Ses...
摘要:團隊有差不多號人,正在帶團隊主攻一個產品平臺,未來有望多個項目借這個平臺孵化。目前唯一可以確定不變的事就是變化本身,而目前大概率正確的事就是不斷的學習和改進自身接受和控制。 ...
閱讀 1185·2023-04-25 17:05
閱讀 3011·2021-11-19 09:40
閱讀 3544·2021-11-18 10:02
閱讀 1739·2021-09-23 11:45
閱讀 3022·2021-08-20 09:36
閱讀 2783·2021-08-13 15:07
閱讀 1133·2019-08-30 15:55
閱讀 2459·2019-08-30 14:11