淺聊我和一些編程語言的緣分

来源:https://www.cnblogs.com/iron2222/archive/2022/07/05/16448576.html
-Advertisement-
Play Games

初識 DEV C++ 首先小衚衕學自己並不是科班出身,不是電腦或者互聯網相關專業的的學生,我本科期間是車輛工程專業,偏機械一點。 本科期間對編程語言的唯一認識就是C,其實也不算是,準確的是DEV C++,但大家都懂得,本科的通識課是可以忽略不計的。 再之後就到了研究生學校這邊,考研的時候就想著能跳 ...


初識 DEV C++

首先小衚衕學自己並不是科班出身,不是電腦或者互聯網相關專業的的學生,我本科期間是車輛工程專業,偏機械一點。
本科期間對編程語言的唯一認識就是C,其實也不算是,準確的是DEV C++,但大家都懂得,本科的通識課是可以忽略不計的。
image.png
再之後就到了研究生學校這邊,考研的時候就想著能跳出老專業的限制,去見識一些新的東西,因為四年的大學生活,讓我明白如果畢業之後,還是找一份畫三維圖的工作的話,我可能會瘋掉~
陰差陽錯就來了我現在導師這邊,說是做的嵌入式,但實際上更多是電子相關的東西,或者說單片機。
image.png

又遇 Java+Mysql資料庫

還記得去年暑假,導師給我安排的第一個任務居然是做一個安卓的APP。
image.png

我是一臉的問號啊?是我拿錯劇本了嗎?

但導師安排的第一個任務,也不能不做,於是我開始了我的Java學習生涯~

同時還搭配著android studio這個軟體的學習,前後一個月,趕鴨子上架做了一個手機APP出來。

image.png

這個軟體實現的功能並不複雜。無非就是:數據的輸入,處理,輸出,再加上一個存儲歷史數據的功能。

image.png
image.png

最後勉勉強強的過了,再往後做到了MYSQL資料庫管理系統部分,所以說我的第三門語言是資料庫操作語言~

給大家放一個我當時做的筆記:這個鏈接也可以看https://www.mubucm.com/doc/3b4CT1Qx8k_

image.png
但這部分的功能並沒有完全的實現,因為開學研一的課程還是挺多的,之後這件事就不了了之了,後來我反應過來,可能這件事就是導師拿來考察我學習能力的,還好當時我沒擺爛,認認真真的去做了。

可見有些事情你可以不喜歡,但當你不得不去做的時候,一定要態度端正,盡自己最大努力。

陷於 C

我第一次看到一段C代碼時,並沒有覺得它是有多麼的特殊,在當時的我看來,無非就是固定的代碼結構,重設其中的一些變數,封裝各種功能的函數,提供相應的介面,按照邏輯進行調用。

image.png

原諒我的這種認識,因為當時的我還在51學習板上跑我的C程式,撐死一兩百行代碼。

改變我對C代碼認識的,其實源自於我惡補電腦相關課程的時候。

那段時間就覺得電腦好神奇,奇怪這玩意是怎麼跑起來的?

《電腦:一部歷史》、《深入理解電腦系統》、《電腦是怎樣跑起來的》、《程式是怎樣跑起來的》、《操作系統之哲學原理》、《網路是怎樣連接的》…………(需要這方面電子書的朋友也可以給我留言)

image.png

看了很多書和課程,但現在回想起來好像又什麼都沒記住,因為電腦的歷史真的是太精彩了,涌現出的一個又一個天才,創造出一個又一個的改變和正在改變這個世界的技術……

哎呦,跑題了,咱們回到C上。

就像有一句話說的那樣:

你可以不寫C語言的程式,但是你不可能不用C語言寫的程式.

我們可以需要深挖一下有哪些軟體以 C 語言為主

  • 操作系統內核。例如 Linux 等
  • 微控制器
  • 視頻編解碼器
  • 底層共用庫,例如 OpenSSL 等
  • Unix 命令行工具,例如 ls、cat 和 git 等

現在幾乎所有基礎設施,操作系統都有C語言的痕跡,我們很難離開它。

如果說未來有一天產生一種新的語言終將代替C,我想這種語言最起碼要有以下幾個特點:

  • 能夠重用現有的 C 庫;
  • 建立在已有的知識和慣例之上;
  • 沒有垃圾回收,或者採用手動記憶體管理;
  • 控制可執行文件的大小;
  • 系統層面的友好。你需要能夠操縱位和位元組。你需要良好的二進位運算符和指針;
  • 逐步替換 C 代碼。能夠良好地相容 C 的可執行文件。

當然這些也都是個人觀點,純屬沒事瞎想,未來的事誰說的清楚。

對於現在我來講,C語言仍然是一門很高深的語言,距離掌握它還有很長一段路要走。

工具語言

雖然我平時學習生活中都以C語言為主,但一旦涉及到某些領域的功能,還是會去接觸新的語言。

比如,C++做QT開發

image.png

比如,HTML5和CSS寫一些簡單的網頁

image.png

再比如,用Python爬取一些數據,併進行數據處理

image.png

等等……………………

最後

歸根結底,編程語言只是一種工具,一種我們和電腦進行交流的工具。

編程語言之間沒有高低貴賤,更沒有歧視鏈,有的只是不同的應用環境適合不同的語言,一切都是時代造就的趨勢。

參考文獻:
https://www.techug.com/post/can-c-be-replaced/
http://t.csdn.cn/SLK0T
http://t.csdn.cn/CpCFM


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 就國內來說,Java毫無疑問是後端語言中的No.1沒有之一,所以今天我們也來0基礎學習Java!!! Java的好處(針對測試工程師) 面試加分->漲薪 大多數公司服務端用的都是Java,學習之後能看懂後臺邏輯,方便快速定位問題 在如此**捲**的環境下,不得不去跟著一起捲(躺平不香嗎?學什麼 ...
  • 發佈一個用於測試 Webservice 和資料庫連接的工具。 ...
  • 來源:blog.csdn.net/dabusiGin/article/details/105483426 錯誤的結論 在網上搜索HashMap中變數modCount的作用時,大部分的解釋都是這樣: Fail-Fast 機制 我們知道 java.util.HashMap 不是線程安全的,因此如果在使用 ...
  • 使用背景: 項目中需要用的富文本框去上傳視頻,圖片的話大部分都是可以的。相對來說,國外的富文本框很成熟。但鑒於文檔是英語,這裡使用了百度的富文本框。 採用的api的方式,調用介面進行上傳文件。話不多說,開擼! 準備: 創建一個.net mvc的項目。下載百度富文本框.net 版本的js文件。 創建項 ...
  • 一:背景 1. 講故事 前幾天有位朋友在 B站 加到我,說他的程式出現了 線程數 爆高的問題,讓我幫忙看一下怎麼回事,截圖如下: 說來也奇怪,這些天碰到了好幾起關於線程數無緣無故的爆高,不過那幾個問題比這一篇要複雜的多,主要涉及到非托管層面,分享這一篇的目的主要是它很有代表性,很有必要。 閑話不多說 ...
  • 效果 概述 最近有個小需求要用雙滑塊表示一個取值範圍,於是就簡單做了個用戶控制項,在此記錄下. 使用矩形Rectangle表示範圍,橢圓Ellipse表示滑塊,使用Canvas控制滑塊的左右移動. 橢圓的滑鼠按下事件里強制獲取滑鼠事件焦點,避免移動過快或移出控制項範圍時,滑塊就不跟著跑了.橢圓的滑鼠抬起 ...
  • BackgroundWorker: 1.定義:是.net里用來執行多線程任務的控制項,它允許編程者在一個單獨的線程上執行一些操作。 2.使用場景:耗時的操作(如下載和資料庫事務)長時間運行時可能會導致用戶界面 (UI) 始終處於停止響應狀態。如果我們需要能進行響應的用戶界面,而且面臨與這類操作相關的長 ...
  • 網路的概念: 電腦網路:一組電腦或網路設備通過媒介(有線或無線)相連,按照一定的規則進行通信的集合。 網路作用範圍分類: 廣域網:WAN--Wide Area Network 城域網:MAN Metropolitan Area Network 區域網:LAN Local Area Network ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...