一个提前概念.
1.大部分的程式语言本质都不是一定需要桌面才能动的.
然后为了让这些持式语言能写桌面程式.就有了 QT 这一类的"桌面应用开发工具包".
2.每个人的推荐有不同角度与考量.我推荐的是最快入门跟生产力.
做得出来能用才是重点.其他都其次.因为时间和金钱不会等你.
3.除了传统的 GUI 执行绪+背景执行绪.还有种东西叫做 Actor/akka.
很多语言都有 Actor/akka 的实现(他是一种概念).高性能.高并行.可跨机连机.
但概念比较不线性.弄懂并熟悉后.你就会把执行绪这东西丢掉.
只有 win 的需求:
VS2015 果断完整安装,支持 C#/
vb.net/F#/c/c++/JS/HTML/CSS/XML/...等语言.
并可用外挂套件管理器.新增其他语言的支持
VS 开专案的时候.选桌面应用程式专案.然后选语言.C#或
VB.NET 都很好入手.我个人推荐 C#.
之后就看 C#/
VB.net 的视窗程式设计的网站或书籍.
C#/
VB.net 有很多很潮的语法支持.使用后会上瘾.
例如动态结构资料处理的 linq.自动并行计算的"Parallel For(each)"语法(linq 本身也有自动并行语法).
在观念不清的情况下.C#跟
VB.net 的视窗应用程式专案.有一个作弊的语法.可让背景执行绪直接操作 GUI.
win/linux/mac 桌面需求:
果断学 QT......备选 JAVA(FX/awt/swing).但个人不看好 FX.
QT 其实应该说是桌面应用工具包.所以 QT 可以搭配很多种语言.
所以你应该搜寻 QT+"某程式语言" 看看是否有支持.有就可以开始了.
某语言你就选你最熟的.
不然就 python.因为入门快.只是 py 本身是单核心的.所以大量计算的需要用多点方法解决这个问题.
py 可以搭配 C/C++...等速度较快的.也支持多核心的语言.
所以你知道某问题需要 py 大量计算,记得你还有 C/C++...等程式语言可以混搭.
不要太纠结 y 的单核心问题.搜寻 "py 多核心" 一堆快速解,最佳解.
JAVA(awt/swing/FX)是 JAVA 为了桌面平台做的东西.不难用但这 3 个东西有重复.又常混在一起用.
想厘清 awt/swing/FX.就去搜寻这三个字.会有史诗级的故事.
嫌 C#/
VB.net/JAVA 慢?py 都能接受那这些都不算慢了.所以高计算还是让 C/C++来吧.
scala 是建立在 JAVA 的一种变种.核心偏向是 Actor/akka.可以 java/scala 互相引用.
3 桌面又跨手机...果断要会网页.
前端 html/css/js.后端 php/nodejs..等.后端只要能建立 http server 的语言都可以.不要限制自己的思想.
FB 有出一东西叫 React.本身是一种网页前端框架.
然后可以开发近原生的手机 APP.叫做 ReactNative.
React(Native)的速度就是 JS 的速度.应该跟 py 算同一个等级.
有人用 JS 做出高计算的框架.如果有 React(Native)的高计算需求.去 JS 社群问 JS 的高计算框架推荐.
当你身边有巨人.就不要自己拿爬梯.
除非你跟巨人不能沟通.