為什麼大學軟體工程系裡不教 Windows 程式設計?

時間 2021-05-12 06:19:46

1樓:

作為乙個工科生,博士畢業後工作了幾年,也覺得這個事情很奇怪。

我們專業做數值計算,學的是fortran和C,連C++都不怎麼學,更別提軟體工程、windows程式設計了。但實際工作中,工作成果向產品轉化必然需要後兩個領域來參與,然而大學相關教育的缺失讓我在工作中感到了很多不適。

雖然我可以通過再學習來克服這些不適,但大學也需要反省自己的責任。我個人認為,中國教育界在過去二十年對軟體重要性的認知是與歐美世界完全脫節的。工科老教授們強調專業基礎知識,但長期與工業界的脫節導致他們無法準確了解商業軟體、開源軟體對學科的改造能力。

現在中美對抗加劇,大學意識到了普及軟體教育的重要性。但未來呢?比如已經迅猛發展起來的人工智慧等新型工具,在大學工科教育中可能依然是這種尷尬局面。

2樓:收斂函式

大體翻一下就行了 WIN32的API 又臭又長很不友好現在Windows的桌面程式設計基本winform或者WPF就能搞的定了除非對系統底層功能有呼叫 .net又沒有封裝就只能DllImport啦到時候查一下就OK 當然如果是搞破解外掛程式驅動之類的可能就得好好看看了

3樓:ks fz

windows程式設計和ui程式設計是兩回事。

可以不教windows程式設計,但是你要教會至少乙個平台下實現介面ui。

程式可以說是演算法和資料結構。但是給人直觀難道不是人機互動嗎?

很多人學了半天,畢業後只會命令列下程式設計,難道不是學校的問題?你說是不是對人的興趣的一種打擊。

4樓:曾先森咯

說白了,你就是想做個有介面的小軟體。我大一也這樣,大一一般是學c++,可以考慮一下qt做點小軟體。其實少年,你可以試著去學學js和python,上手簡單,可玩性很強。

最重要的是,大學本科課程確實很基礎,可能你覺得"幹不了大活",但務必好好學,你以後會發現,其實什麼語言,幹什麼並不重要。計網,作業系統,物件導向,資料結構這些東西才是根本,有了這些,學什麼都快的

5樓:

現在可以說出知乎經典台詞了:先問是不是再問為什麼……我大一上學期學C,下學期學C++,其中C++專門有一章講怎麼寫Windows圖形介面程式,課程設計也是做乙個圖形介面的程式。

大二上學期末(大概是,記不太清了),一門實驗課,要求兩個星期內用MFC做出乙個飛機大戰的遊戲出來。

大三C#,看語言已經沒必要再具體解釋了吧……

6樓:西瓜味冰糖

有的老師講c/c++的時候會順帶用一節課講一下簡單視窗,單獨開課講mfc對於學校來說沒有什麼必要性,這種東西要自學。另外mfc的很多部分略過時,有很多相對新的技術也可以完成同樣工作,比如stl,gui方面的direct2d之類,但基礎的東西,還是要用mfc入門

7樓:

因為太難,沒有實踐經驗你無法體會api設計的精妙,教了也白教。因為太繁瑣,寫半天也就是上C#拖3分鐘的功能,教了也沒有人學。

不要相信一些回答說的沒用,有個自稱搞了這麼多年設計沒有見用過win32 api只能說此人少見多怪,大專案直接用api的不在少數。

win32 api設計的非常精巧。如果你設計過乙個比較大型的系統,比如有30以上的功能點,對外提供相應介面,那麼你就會發現如何設計一套api就會很重要,一是提供的api足夠強大,可以讓使用者實現對你系統的各種呼叫;二是足夠安全,提供足夠的許可權又能限制使用者對系統有害的操作。三是具有優越的相容性,只要說按照文件開發的程式,不論你都系統如何公升級,都可以順利執行。

這三條標準一框,目前符合的系統就不多了。iOS和安卓首先就pass了。Linux?

別搞笑了,他debian連自己的大版本都無法相容。Unix就不說了,除了FreeBSD和macOS之外,在x86平台上能跑都也太少了。反觀win連win 3.

2上的檔案管理器現在照樣可以跑,目前開源了。

什麼情況下需要學習windows程式設計?既然上軟體工程,那麼入門語法和邏輯,cli程式都可以解決了,不需要去關心gui,如果上需要GUI了,目前網際網路環境下,jee\php\nodejs\python\c#都可以解決,也不需要去用win32來做介面。

什麼時候需要原生win32程式開發?小系統還真不知道,因為就目前都情況來看,C#做介面C/C++做核心計算上主流,畢竟C#開發GUI效率高。那麼,我前面都是廢話啦?

對的,你不學照樣可以月薪3萬,但是如果你喜歡計算機,如果你想要學習乙個作業系統的GUI設計,那麼請認真讀一遍windows 程式設計寫乙個多文件程式,受益匪淺。再去看QT你就發現,很多問題的處理是那麼的自然,看mfc才發現微軟其實挺nb。大的專案,在win32下多少你會用到些,而這個一些往往決定了你的技術深度。

8樓:HalfmanG2

因為根本教不了,.NET出來前Windows API那玩意兒全中國有幾個人能教?.NET出來後,Windows 在軟體市場上的比例已經極度萎縮了,根本沒必要教。

9樓:Andero

接輪子哥的話,現在確實大學不是往程式設計師方向上培養的。培養程式設計師是培訓班的方向。win32開發貌似很多培訓班在做。

為什麼那麼多學計算機的出來一起沒搞過就能會搞了呢?因為這個東西學起來挺容易啊(在有基礎底子的情況下)。win程式開發很多東西微軟都幫你封裝好了,直接呼叫就OK了,外加開發工具的使用。

也是有教程的。

大學教育本來就和高中教育不同。培養自學能力是個很重要的東西。你總不可能指望一輩子都有人手把手教你東西吧。有錢的搞培訓,沒錢的自學。

10樓:

去一些不入流的學校就有這些課程啦~多年來,面試了一些人,專業名稱真的重新整理了我的三觀:安卓程式開發專業,微軟技術認證專業之類的指名道姓把技術平台作為專業名的……那些課程嘛~題主應該會滿意

11樓:keyboard2109

講道理的答案好多啊, 我也講不來道理, 就貼個鏈結吧...

Learn to Program for Windows in C++

12樓:Kenneth

我猜題主能這樣問,應該是覺得Windows程式設計已經是最正統最常用的程式設計師工作途徑了。

只能說,見得少嘛,以後多了解點就好了,誰年輕時不鬧點笑話呢。

13樓:

大學裡面應該教的是怎麼基於現有的api封裝成適合自己的輪子。 以及怎麼把其他人寫的輪子組裝起來 。如何使用輪子這件事應該交給文件。

14樓:

2003級的軟體工程專業,我們是有windows系統程式設計這門課程的,而且還是英文原版教材,大概有1000左右。

這門課很有意思的,好像是選修。

15樓:SuperLucky

你都說了,這個課教你的是這門程式語言,不是具體的技術你要學習的是這門語言由那些部分組成,各部分是怎麼運作的。所以要盡量排除掉干擾,所以用鍵盤輸入,控制台輸出,不呼叫API,這樣就能把授課範圍限制在語言包含的功能之內。

如果以下兩句話出自程式設計師之口:

「我會C語言但不會寫MFC」——很正常,術業有專攻嘛「windows.h是C語言的一部分」——超丟人的有沒有

16樓:毛毛大王

SJTUSE,準確的來講是不會教的,是會讓你學的,我們有很多課,上課都是講概念和理念的東西,然後作業要落地,則必須依靠某個語言,某個框架來實現,然後老師不會講的,你的自己去找文件學,然後去實踐。

這算教嗎,總之我覺得這個模式也挺好的。

17樓:Eric Qiang

Windows程式設計,應該是作為大三《作業系統》課後的實踐課,研究一下具體作業系統是如何實現那些執行緒排程、多執行緒併發機制的。如Windows實現的幾種執行緒池。

18樓:常亮

感覺上學時程式設計課程對我這種當時沒有建立概念的人很不友好。總覺得自己學的都是寫控制台程式,不知道什麼時候才能邁到有UI介面的程式開發那一步。那時候甚至以為做介面要自己乙個畫素乙個畫素的去畫。

其實就差老師引導一步,甚至指點一句:「UI介面不用你從頭開始畫,不同的平台會有相應的API供你呼叫來實現,之所以不講這些是教材認為這些沒有知識點,就是用前人給你做好的東西而已」就差那關鍵的一句可能就能把缺失的一環補上了

19樓:1.jar

我們學校專業選修課有Android程式設計、Linux程式設計、iOS程式設計(培養方案上有,實際沒有開出來)

沒有Windows程式設計,可能是覺得大家都會吧

20樓:

教Windows api?

那要不要教mfc?

要不要教wpf?

嗯或許直接direct3d畫介面更好?

其實都沒什麼卵用,工作以後全公司都是mac和Linux,很多美國公司連HR都不用Windows。

想想當年要是教了個silverlight,估計這輩子也用不上了。

你看,api只是招式,教了也不一定有用,而且那麼多招式誰知道教哪個更有用?

還不如多教點內功,以不變應萬變。

再說了,Windows API這種東西,我十歲就背的差不多了。

21樓:凱威講堂

可別學Windows api了,當年我們選修課講過Windows程式設計,說實話花了不少功夫學。就這本書,

講什麼呢,大概是windows控制項訊息驅動,GDI,視窗控制這些東西。然而,我他喵幹了這麼多年計算機,就沒見過工業界用這些技術。

基礎打好了,能舉一反三,再加上動手能力,保證你學得很開心。

22樓:w2014

我和他,是從小玩到大的朋友。

「喂,以後,你想做什麼?」那天,在田地裡,我如是問。

「習得一身武藝,鋤強扶弱。」

擊掌為誓,同心齊志。前路荊棘,並肩攜力。

從私塾畢業那年,他拜入武當,每日站樁負重,調理氣息。而我則投奔一家道館,舞槍耍刀。

初時,當我能舞動銀槍,驚豔路人時,他還在每天枯燥無味地抱樁,蹲馬。

那時我曾嘲笑他,死板固執,脫離實際。他笑著搖了搖頭,不語。

後來,當他出師時,邀我去看他的比賽。

那天,我在台下看著他。他步伐靈動卻穩健,他反應機警而準確。至於拳法刀術,雖欠了一點經驗,卻也不多讓於他人。

那一刻,我覺得我十多年的功夫白練了。我如此對他說,他笑著搖了搖頭,不語。

後來,戰爭爆發。

我們應徵入伍。

他是武者,武藝高強,莫與爭鋒。強大的敵人,在他面前,也不過如木偶一般,任人宰割。

我為戰士,前仆後繼,保家衛國。在混亂的戰場上,收割敵人的生命,左右著戰爭的走向。

為何武當不訓練戰士?

一方面,武者做戰士,也不遜色於他人。

另一方面,普通士兵,天下道館皆可訓練。而獨這武者,非開宗立戶之大師無可訓者。

我想,我回答完了。

有沒有西北大學軟體工程系的學長學姐推薦下21考研專碩資料結構參考書和資料啊

20已上岸 不建議先看王道天勤,因為和851資料結構的出題方向不同,而且書裡面的題目偏難。自己的方法是搭配真題看課本,把真題裡面的題全都背下來,這樣至少有110分了,然後看看課本裡的例題和課後題,120 不是問題。最近更新,今天是2021.2.26了,西北大學考研初試成績明天上午9點就可以查了,屆時...

為什麼計算機系的老師教不好軟體工程水平的程式設計?

蕭軒 座標某985計算機系。猶記得軟體工程課上,老師出了乙個判斷浮點值為0的問題。一同學寫 abs x 1e 6 老師看到答案就開始批判 計算機裡面沒有e的呀,怎麼可以直接寫e的負六次方呢?講課死氣沉沉,水平令人汗顏,不如改聽馬原。 老楊叔聊志願填報 能滿足你要求的老師在企業的話都50萬年薪起了,他...

大學學習軟體工程,應該選擇 Windows 系統筆記本還是 MacBook ?

初學者,系統win7 linux 硬體筆記本8G 500G機械,120GSSD,i5之上,2G獨顯即可!因為可以用eclipse啊!不要問我為什麼! 樓主跟我讀大學前真是一毛一樣!我也是軟體工程在讀。我買了MBP 無獨顯 只裝了os x,跟學習有關的操作幾乎全在虛擬機器的win8和xp上進行,所以學...