Re: [討論] 沒有C語言的實戰經驗,要怎麼磨練?
C語言本身不難, 只有32個keywords
難的是compiler/linker, runtime, platform/architecture
一般我們會考這些, 而不是語言本身
想學習C, 我會建議從CPython入手
常用的CPython runtime, 整個都是用C寫的
建議你
1. Snyc source and compile
學習基本toolchain
2. 造一個python module
https://docs.python.org/3/extending/extending.html
3. trace code
從Py_Initialize()一路看到怎麼import module
還有如何用function pointer做polymorphism
大概花一個月, 祝好運
--
※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.27.97 (臺灣)
※ PTT 網址
推
真的假的
推
這是真的假的
推
ELF/PE 那些算系統程式的範圍吧
推
那php extension應該也能拿來練習?
推
推推
→
https://github.com/atrn/ici 原版 ici 比較乾淨,lua ok.
推
C 語言就語言的部分真的不難,SPEC 相較其他語言來說應
→
該是數一數二短的,但要怎麼用就很難了……
推
C最難的是搞懂 undefined behavior …
推
UB 就避開它吧,搞懂它也沒多少好處
→
樓上那句不適用在韌體世界
推
Ub搞懂沒好處?
推
韌體有非 UB 寫法不可的需求那我真的不知道 XD
推
ub都不是portable,真的有人會想用ub抖兜功能?
→
我也認為就避開他就好了 盡量不要寫出無法直覺理解的
→
畢竟不能確保下一個接手維護的人會不會改暴他
推
有沒有人面試的時候會說我懂很多UB所以錄取我
9
建議可以看看《C How To Program》, 它的範例程式碼品質不錯, 文字說明也夠多, 多做練習題可以幫助你理解語意. 不過有個觀念需要釐清的是: C 語言程式是跑在抽象機器 (abstra- ct machine) 而不是實體機器上 (只存在想像的虛擬機器), 所以它 和你的應用偏底層與否其實沒什麼關係. C 語言規範了抽象機器的12
做C跟底層 可以去看CMU 15-213/18-213 aka CSAPP 國內有些課算是有參考到的 像是交大開的Unix Prog.(簡單版) / OSDI(這難度應該不下正版15213) 成大的Linux 核心設計(他的英文其實叫系統編程?)5
前面已經有高手提供不少正確概念 1. 學歷 > C lang 2. 難的不是C , 而是CS 相關觀念 3. 可以從 linux or open source 學習 這邊在補充一點, 就是embedded 部份
68
[討論] 沒有基礎,該先學C還是Python如題,想詢問大大們 如果本身沒有程式語言的基礎, 會建議從C語言學起還是Python呢? --31
Re: Fw: [討論] 沒有C語言的實戰經驗,要怎麼磨練?從你的敘述我猜你會簡單的forifelse 但想更深入卻不知從何讀起 如果你只是想通過iC 公司筆試 我的經驗是 看這本就夠了24
Re: [問卦] 初學Python是不是養成一堆壞習慣?你在講什麼鬼 這個很顯然就是因為先學C導致寫法不pythonic 以你舉的第一個例子來說 應該會是 res = [i % 2 == 0 for i in range(len(list))] 有np的話第一個例子連for in 都省了 import numpy as np res = np.asarray(range(len(list))) % 2 == 014
[請益] 如何在履歷表達軟體工程的程度? (C語言)最近在思考,如何在履歷中精準描述C語言的程度,並隨手寫了下列幾句 1. Object-oriented programming in C 2. Clean code 3. Modular programming 4. Follow SOLID principle9
[問卦] Python 出 type hint代表投降了?Python之前標榜dynamic typing 弄出一堆 variable type不清不楚的code 現在有了type hint,是不是代表投降了呀? 就算runtime才決定type,變數終究還是得有type的,不然人類很難懂 Python在資料科學與機器學習極具價值,但初學者學python真的會被荼毒耶4
Re: [請益] 程式怎麼選擇與入門?推文中有人提到c易學難精,真的是這樣沒錯~~~~~ 不過身為有在寫韌體的一位工程師,我可以分享我自己的經驗 C語言: 這基本上是絕對必備,目前所有跟硬體相關的編譯器都是支持c語言的 python:這個建議要學! 這在電機系裡面我個人覺得還蠻重要的,譬如說人工智慧在台大電機 是大一的課程,目前支援deep learning API最完整的語言還是python,而且以後