ld开发中文编程的高效IDE
Tofloor
poster avatar
electricface
deepin
2013-04-25 04:56
Author
我知道编程的语言界限不大,但是对于初学者或者已经习惯使用易语言编程和拖拉控件的人有急切需求.
好软件是不分编写它的语言的.用中文编程语言一样可以写出好软件.

我期待的一种语言是
很简洁,表意不会有重复,但也便于编译器检查.
能发挥中文语言的表意能力,能与中文输入法完美结合.
高效,是静态编译的,不是动态的脚本
有自动的垃圾收集器,有完善的面向对象机制,异常处理机制.
方法和类是同级的
(这种语言还不存在,这是我下一步的研究目标)


如果出一种英文的IDE就也许没有必要,因为已经有很多,只是不如vs系列的强大.
翻译大量开源库的文档,不如将这些优秀的库翻译成中文的类名,方法,这样凭借名称和使用者的简单测试就能够辨别具体的用途,而且针对性强,翻译文档这种漫无目的的工作就显得很低效,和不划算.

linux平台缺乏大公司的积极参与,这正是小软件生产者生存的希望,目前小软件生产者在linux平台,相比在win下有更大的机会,当然得ld系统能基本满足日常工作及娱乐需求,并且大量开拓版图,让更多人有意使用ld系统作为自己的工作系统.

某个刚长大的小公司有软件开发项目时,期待能找到便宜的软件开发团队时(ld可以做中介),小软件开发者的收费更加便宜是肯定的.我总觉得在提高企业工作效率的软件这方面中国还有很长的路要走,看中国各种高校的信息管理系统就知道了.

linux平台对于大公司里的开发者和用中文编程的小开发者都是十分陌生的环境,市场上也没有那么多linux人才,如果没有大量成熟的中文的文档,有可能让这些小生产者一辈子都与ld绝缘.但如果有了比易语言IDE更加先进IDE(易语言在ld上挂定了,而且没有同类竞争产品)这些小生产者的状况就完全不一样了,它们有更快速的反应.而且这些小软件软件开发者还可能忽悠一些有识之士换用ld系统呢.比ld在这方面不作为要好很多吧.
(除非你否认有中文资料对于学习一门新系统环境下编程的作用,ld可以用中文将类库都封装的妥妥的)

易语言飞扬,是易语言公司在隐匿前的得意作品,比易语言尘土更加先进,只是目前项目完全停止了.里面就有跨平台的思路,有linux平台开发软件的能力.因为包装了开源跨平台的库.我看到它还有开源的意向.我在考虑ld是将这种强大的IDE限制在linux系统,还是应该搞跨平台.

ld做操作系统正愁没有第三方开发者,如果ld能在宣传成熟美观桌面环境的同时制作出开源的高效的中文开发语言和高效的IDE,我觉得比自己开发游戏更有价值.
Reply Favorite View the author
All Replies
4 / 4
To page
132******75
deepin
2013-05-07 23:34
#61
其实lz有想过为什么很有多编程语言的文档一直都是英文
而且从来不缺人手翻译,却一直没人翻译么?
我就想吐槽这个,非逼着我学英文
Reply View the author
electricface
deepin
2013-05-08 07:55
#62
不要以为VIM或者EMACS才是编程神器。LZX的ide如果有很好的键绑定也能成为神器的。我会将它的学习曲线降低,同时保持高效率。
Reply View the author
electricface
deepin
2013-05-09 01:28
#63
太复杂了...
  1. lzx IDE高复杂键盘绑定规则
  2. 方向键
  3. 上 I  下 K  左 J  右 L
  4. 将 IJKL 这四个键作为基础方向键,一直按着 IJKL 时,并不会一直输入 IJKL ,而是当你按 IJKL 中的某个键,手松开时才表示键入一个 IJKL 字符,(如果你按着这个键的时间太长了反而不会输入它).我把这种类型的键称作非重复键.QWERASDFGZ 也是都是非重复键.相信对大部分人和大部分情况是没有妨碍的.
  5. 一般快捷键
  6. 复制 C+c  粘贴 C+v或者 剪切 C+x
  7. 粘贴文字 v+lj 重复按它们能重复粘贴,再按反向的v+jl能取消上次粘贴.
  8. 剪贴板循环 C+S+v  或者
  9. 撤销 C+z  
  10. 重做 C+A+z
  11. 格式化全部代码 C+e f
  12. 将选中文字变成注释 C+`
  13. 一般命令,按回车键执行.
  14. 命令开关 ;;
  15. 退出;;tc  将提示保存文件
  16. 使用外部命令
  17. 开关;;;
  18. 比如
  19. ;;;ls
  20. 光标移动
  21. ;;100 跳到100行
  22. ;;.5  跳到文本 50% 的位置
  23. ;;.1  跳到文本 10% 的位置
  24. 到第一行 或 C+Home
  25. 到最后一行   C+End
  26. 到行首 或者或者
  27. 到本行第一个非空白字符的前面 或者或者
  28. 到行尾 或者
  29. 本行最后一个非空白字符的后面。 或者
  30. 到段落的顶部
  31. 到段落的尾部
  32. 按词组移动 向左 向左  或者 C+← →
  33. 按单字移动 向左 向右  或者← →
  34. 在进行单字移动时,右手按住 i或k 的同时的大拇指按住空格,能够加速光标向上或向下移动.
  35. 按页移动,翻页 上页 下页  PgUp PgDn
  36. 匹配移动
  37. 匹配()'[]{}==<> 这些符号
  38. 匹配光标前面的词组
  39. 在你编辑过的几个大区域内移动 向上 向下
  40. 删除文字
  41. 删除单字
  42. 删除词组
  43. 删除光标到行尾的字符
  44. 删除光标到行首的字符
  45. 如果有选中文字,按删除选中区域左边的单字,且不会取消选区,其他依次类推.
  46. 删除当前行 C+d
  47. 带上数字
  48. 向惯性方向移动5个单字,按
  49. 向惯性方向删除3个单字,按
  50. 向惯性方向翻3页,按
  51. 惯性方向对EWAS优先是"左",对DF优先是"下".
  52. 移动文字
  53. 词互换 C+t
  54. 将当前行上或下移 C+↑ ↓ 或者
  55. 移动选中文字 C+↑ ↓ ← → 或者
  56. 将光标后面的内容移动到行首 C+e q
  57. 将光标前面的内容移动到行尾 C+e t
  58. 区域选择
  59. 全选 C+a
  60. 选择到文档开始 C+s+Home 或者
  61. 选择到文档尾部 C+S+End 或者
  62. 选择到上一页C+S+PgUp 或者
  63. 选择到下一页C+S+PgDn 或者
  64. 选中光标所在的词组 C+w 反复按快捷键,即可继续向下同时选中下一个相同的文本进行同时编辑.
  65. 选中与光标所在词组相同的所有词组,并转变为多插入点 C+e w
  66. 向左选中词组 向右选中词组
  67. 选中从光标现在位置到行首的文字   或者 或者C+S+Home
  68. 选中从光标现在位置到行尾的文字    或者C+S+End
  69. 选择当前行 或者 C+s d
  70. 按选中当前行,然后选中下3行,中间可以 取消掉选中的某一行.
  71. 按住S,切换到选中模式后,,再按IJKL进行单字符上下左右的移动,这时候IJKL还是不可按住重复的
  72. 这时按 u 或 o 以词组单位移动,更快些, uo 可以按住连续移动.
  73. 我的想法是, 是高速移动,属于粗大调节,而 是低速移动,属于精细调节.
  74. 而且因为 键是需要弹起按键才有左右移动的效果,因此如果你按着 中的一个时,再松开左手按着的
  75. 按 中的一个将分别可以进行 剪切,复制,粘贴 的操作,而不用移动左手去按 C+xcv 键.
  76. 退出选中模式按 或者先松手,再按 之类的.
  77. 选中行命令
  78. 选中10到100行;;10 100
  79. 选中当前行到100行;;. 100
  80. 选中当前行到结尾;;. _
  81. 多插入点模式
  82. 同时有很多插入点,你的光标有了分身技能.
  83. 在按着 e 或 w 的时候,一并按下能释放出一个插入点种子(再按r能取消你刚布下的种子),当你布置好种子之后按将种子变成真的插入点.
  84. 清除插入点种子,按两下.
  85. 选区也能起到和插入点种子一样的作用,只不过选区中的内容很可能会被替代.(我是说可能,不是一定)
  86. 由上下跨行的选中区,按然后转变为多个插入点 ,接着输入文字,接着按 esc 退出多插入点.
  87. 如果可以在多插入点模式下使用扩展正则式,也许更强大.
  88. 退出多插入点模式,按 或.
  89. 插入新行
  90.   向下插入新行
  91.   向上插入新行
  92. 合并行 C+j
  93. 行排序 C+s q
  94. 行排序命令;;10 21 px
  95. 重复执行
  96. 重复命令 <数字键><单个字母,它是你宏的名称,也可以是Esc> <一些你的操作,正在被录制> 开始重做.
  97. 执行宏 <数字,要重复次数><宏字母>开始执行
  98. 重复上一次操作
  99. 复杂的东西得自己写配置文件.
  100. 搜索 C+f
  101. 输入要搜索的内容,然后 按切换到各个匹配位置,按esc 或则 退出搜索模式.
  102. 通过命令;;f  <要找的文字><回车> 也可进入搜索模式.
  103. 在搜索模式下按 不会选中全文,而是只选中全部的匹配文字.再按 将选区变成多插入点.
  104. 文件夹内查找 C+S+f
  105. 替换命令
  106. 弹出图形界面
  107. 替换一行中的第一个匹配文字
  108. ;;t 旧的 新的
  109. 替换一行中的所有匹配文字
  110. ;;th 旧的 新的q<回车>
  111. 替换全文的
  112. ;;qw 旧的 新的
  113. 替换某一行,这里是第10行
  114. ;;10 th 旧的 新的
  115. 替换第1到第10行的
  116. ;;1 10 th 旧的 新的
  117. 替换当前行到第10行的
  118. ;;. 10 th 旧的 新的
  119. 选中然后替换,将只替换选中部分的.
  120. 选中模式 ;;th 新的 旧的<回车> 替换掉选中文字中所有匹配文字.
  121. 由于替换是需要用空格来分割俩个参数的,所以当你要替换的东西有空格,请用 " 双引号分割这两个参数,因为lzx里面,最罕见的符号是双引号了.
  122. 比如 ;;t" 我的 "我的<回车> 能将" 我的 "替换成"我的".
  123. 重复上次替换操作用吧,能重复上次操作.  
  124. 正则表达式
  125. ???等等
  126. 文件操作
  127. 打开;;dk   C+o
  128. 打开项目 ;;dkxm  C+p  或者
  129. 关闭项目;;gbxm
  130. 新项目 ;;xxm  或者
  131. 插入;;cr <文件名>  这个过程会有预览窗口的.
  132. 保存;;bc  C+s s
  133. 保存选中文字;;bcxz <文件名>
  134. 保存所有;;bcsy  C+s a
  135. 另存为;;lc <输入名字.后缀名>   C+s e
  136. 保存某几行文件到另一个文件 10,20 bc <文件名>
  137. 关闭当前文字并且不保存,放弃;;fq
  138. 关闭所有文字并且不保存,放弃所有;;fqsy
  139. 关闭当前文字;;gb  会询问是否保存
  140. 关闭所有文字;;gbsy 会询问是否保存
  141. 设置类命令
  142. 搜索高亮;;ssgl
  143. 没搜索高亮;;mssgl
  144. 忽略大小写;;hldxx   对于满是中文的lzx而言是默认打开的
  145. 不忽略大小写;;bhldxx
  146. 语法高亮;;yfgl
  147. 没语法高亮;;myfgl
  148. 行号;;hh
  149. 没行号;;mhh
  150. 配色方案;;ps <方案名称,有预览的>
  151. 全屏;;qp
  152. 没全屏;;mqp
  153. 程序命令
  154. 构建;;gj
  155. 执行;;zx
  156. 调试;;ts
  157. 文档;;wd
  158. 书签
  159. 新书签;;xsq <书签名字>
  160. 转到书签;;dsq <书签名,会有提示的>
  161. 删除书签;;scsq
  162. 删除所有书签;;scsysq
  163. 书签列表;;sq
  164. 代码折叠
  165. 打开关闭折叠
  166. 递归打开关闭折叠
  167. 移动到上一折叠
  168. 移动到下一折叠
  169. 折叠代码;;zddm
  170. 不折叠代码;;bzddm
  171. 打开所有折叠;;dksyzd
  172. 关闭所有折叠;;gbsyzd
  173. 选中折叠代码 C+s+z
  174. 查看命令
  175. 看文件信息,所在行数,字数统计,文件大小等 C+g
  176. 放大字体 C+=   缩小字体 C+-
  177. 类;;l <你要的类>
  178. 方法;;ff <你要的方法>   或者C+r
  179. 属性;;sx <你要的类>
  180. 对象;;dx
  181. 项目;;xm
  182. 大纲;;dg
  183. 错误;;cw
  184. 资源;;zy
  185. 转到定义再回来
  186. 分屏
  187. ;;fp     水平分2个屏
  188. ;;czfp  垂直分2个屏
  189. ;;gb    关闭这个屏幕
  190. 不同分屏之间的切换 按alt键的时候有数字提示.一般也就alt+1,alt+2吧.
  191. 按将活动分屏换到对应位置.
  192. 分屏比较文件之间的差异
  193. 比较;;bj <文件1> <文件2等等>
  194. 多标签页
  195. 新建标签页,你得打开一个文件.
  196. 在标签页见轮换 C+Tab  
  197. C+数字 切换到相应标签页.
  198. 将标签页移动到对应位置  C+S+数字 ,如C+S+1,能将标签页前提到第一个位置.
  199. 帮助命令  F1 F1
  200. 帮助;;bz <帮助主题>
  201. 动态帮助;;dtbz
  202. 没动态帮助;;mdtbz
Copy the Code
Reply View the author
electricface
deepin
2013-05-09 05:10
#64
太复杂了,它比vim还复杂几倍呢.
Reply View the author
132******75
deepin
2013-05-10 20:29
#65
lz可以自己在github上提交一个项目开始玩儿啊,玩出来就有人会跟了
Reply View the author
electricface
deepin
2013-05-13 08:41
#66
独乐乐不如众乐乐,我现在又有信心了,深度开发中文ide,如果非常的好用,必然是益处多多!
Reply View the author
electricface
deepin
2013-05-13 17:56
#67
为什么无人欣赏呢
  1. func main() {
  2.     os.Setenv("WEB", "http://coolshell.cn") //设置环境变量
  3.     println(os.Getenv("WEB")) //读出来
  4.     for _, env := range os.Environ() { //穷举环境变量
  5.         e := strings.Split(env, "=")
  6.         println(e[0], "=", e[1])
  7.     }
  8. }
Copy the Code
  1. 入口{}=
  2.         OS设环境'WEB' 'http://coolshell.cn' `设置环境变量
  3.         打印 OS取环境'WEB' `读环境变量
  4.         env : OS环境变量
  5.                 e env//'='
  6.                 打印 e[0] '=>' e[1]       
  7.         ;env
  8. =
Copy the Code

学习了go语言才知道,编程语言的设计是越设计越简单.简单了大家才会用的爽!
  1. func main() {
  2.         cmd := exec.Command("tr", "a-z", "A-Z")
  3.         cmd.Stdin = strings.NewReader("some input")
  4.         var out bytes.Buffer
  5.         cmd.Stdout = &out
  6.         err := cmd.Run()
  7.         if err != nil {
  8.                 log.Fatal(err)
  9.         }
  10.         fmt.Printf("in all caps: %q\n", out.String())
  11. }
Copy the Code
  1. 入口{}=
  2.         out 字节缓冲
  3.         cmd 执行命令'tr' 'a-z' 'A-Z'
  4.           标准输入 = 字串读'some input'
  5.           标准输出 = &out
  6.           运行
  7.           !!日志致命err
  8.         打印'全变大写 : ' out_s
  9. =
Copy the Code
  1. func main() {
  2.         t := template.Must(
  3.                 template.New("test").Funcs(
  4.                         template.FuncMap{
  5.                                 "lt": func(a, b int) bool { return a < b },
  6.                                 "eq": func(a, b int) bool { return a == b },
  7.                                 "gt": func(a, b int) bool { return a > b },
  8.                         },
  9.                 ).Parse(
  10.                         "{{.Name}}:{{ if .Age | lt 5 }} 5 < age.{{else}} 5 > age.{{end}}\n",
  11.                 ),
  12.         )
  13.         t.Execute(os.Stdout, &Person{
  14.                 Name: "lulu",
  15.                 Age:  4,
  16.         })
  17.         t.Execute(os.Stdout, &Person{
  18.                 Name: "lili",
  19.                 Age:  6,
  20.         })
  21.         // output:
  22.         // lulu: 5 > age.
  23.         // lili: 5 < age.
  24. }
Copy the Code
  1. 人{名 s, 年龄 i}
  2. 入口{}=
  3.         t 模板定义
  4.           模板'test' 方法(
  5.               模板方法字典
  6.                           '小于' {a,b i}=a                          '等于' {a,b i}=a==b
  7.                           '大于' {a,b i}=a>b
  8.           ) 解析'[名]:[若 年龄 小于 5] 年龄<5 [否则] 年龄>5 [;若]\n'
  9.         ;t
  10.         t执行 OS标准输出 (人 名'lulu' 年龄4)
  11.         t执行 OS标准输出 (人 名'lili' 年龄6)
  12. =
Copy the Code

最后一个无聊的例子
  1. 取文件列表{路径 s}=
  2.         文件列表 []s
  3.         路径走 路径 {path s,f OS文件信息,e 错误}=
  4.                 若f==空
  5.                         返回 err
  6.                 若f是文件夹
  7.                         返回 空
  8.                 文件列表..path
  9.         =
  10.         !!打印'路径走 返回错误' err
  11.         返回 文件列表
  12. =
  13. 组合文件名{路径 []s,文件名,分隔符 s,数 i}=
  14.         若数==0
  15.                 路径[-1]=文件名+'.jpg'
  16.         -
  17.                 编号 数_s
  18.                 路径[-1]=文件名+'_'+编号+'.jpg'
  19.         ;若
  20.         新路径 分隔符连接路径
  21.         返回 新路径
  22. =
  23. 重命名图片{路径,后缀,分隔符 s, ch 通道_i}=
  24.         f OS打开路径
  25.         !!打印'重命名图片 错误' err
  26.         x EXIF解码f
  27.         !!打印'重命名图片 错误' err
  28.         日期 x取 EXIF原始日期时间
  29.         f关闭
  30.         日期文字 (日期_s替换':' '' -1)替换' ' '' -1
  31.         文件名 日期文字+'_'+后缀
  32.         ss 路径//分隔符
  33.         新路径 组合文件名 ss 文件名 分隔符 0
  34.         OS重命名 路径 新路径
  35.         若err!=空
  36.                 数 : 1到10E6
  37.                         新路径 组合文件名 ss 文件名 分隔符 数               
  38.                         OS重命名 路径 新路径
  39.                         !!重入
  40.                         跳出
  41.                 ;数
  42.         ;若
  43.         ch<-1
  44. =
  45. 入口{}=
  46.         运行时最大GO程 运行时处理器数
  47.         路径 '~/1111'
  48.         名 '春游踏青'
  49.         分隔符 '/'
  50.         开始时间 时间现在
  51.         文件列表 取文件列表 路径
  52.         ch 通道_i
  53.         数 0
  54.         fp 文件列表
  55.                 后缀名 字串变小写 fp[-4:]
  56.                 若后缀名!='.jpg'
  57.                         重入fp
  58.                 数++
  59.                 go 重命名图片 fp 名 分隔符 ch
  60.         ;fp
  61.         打印 数
  62.         b 0
  63.         D 等待
  64.                 <-ch:
  65.                         b++
  66.                         若b>=数
  67.                                 跳出D
  68.         ;D
  69.         打印b
  70.         打印 (时间自从 开始时间)
  71. =
Copy the Code
Reply View the author
electricface
deepin
2013-05-13 23:04
#68
我认为lzx 的优势在于 代码大部分为中文,有利于高复杂度的代码管理,因为当你的代码变得十分复杂了,你的英文词汇量就得变大,要不然你就得硬着头皮取各种奇怪的方法名了,虽然满篇的中文,依然会让人看得很烦躁,但是如果 你细看,是可以静下心来的.这对于英文不是很好的人来说更加有利.

lzx 的语法是经过我精简到极致的go语言,
举个例子,在go中 表示数据为字典(整数 => 字串)类型你需要写: [color=#000080:29n879p9]var dict map[int]string[/color:29n879p9]
而在lzx 中你只要写下 [color=#000080:29n879p9]dict i_s[/color:29n879p9]
dict是非常无意义的名字,我劝大家不要取这种变量名.
一般编程高手的眼里也只会看代码的这些精华的东西,和我的设计思想相左是java,这门语言的修饰符,一些 pulic static int string list<> 之类的将会蒙蔽掉大部分新手的眼睛.而且IDE对代码对颜色处理将会让新手眼花缭乱,难以关注到它们最应该关注到的代码的精华.

我所说的精华是 对人类理解代码有重要意义的字符串,对机器有重要意义的暂且不理会. 比如方法定义上方的一行注释,一个很有意义的局部变量名,我将基础数据类型,如整数,小数,字串,字节,布尔的表示都精简为单个英文字母 i f s b B (这也说明我不是狂热的中文编程者,我只是为了完成我的设计意图),就是不想让变量的类型占据你太多的视觉细胞,而是让局部变量名凸显出来.最快速度让你理解代码,这可是一般高手才有的能力哟.

目前市面上的IDE大多是使用英语的人开发的,他们没学习到中文,中文也不是世界通用语,当然不能要求他们开发对中文友好的IDE,如果IDE能针对中文的特点量身定做功能,就能极大提高IDE对中文的友好性,要做的这一点,只要认真研究是很简单的.

还有一点是先入为主,语言环境更是这样,所谓入乡随俗.在英文编程的世界里,你突然想起一个中文变量名,你需要切换一次输入法,完成之后再切换回去,这很容易打断思维, 而且代码提示还不提示你已经定义过的中文变量. 想起一个中文方法名,IDE的方法快速定位功能,无法快速定位中文方法名,这让你无法管理大量的中文代码.这些都是中文IDE需要改进的缺点.正是这些缺点让大多数人为了简便也就入乡随俗地使用英文作为变量名了.所以他们看不到我所看到的缺点.

中文IDE的智能程度如果能够再提高一些的话,可以一路的按26个字母键,而不需要按空格12345一个一个选候选词,不需要用回车明确输入英文变量名.


据我所知,官方文档有全面的中文资料只有微软MSDN,其他要么没有能力,要么就不重视这个问题.所以微软Windows在中国才能取得这么多程序员的支持吧.
ld也应该重视新一代程序员的培养问题,要不然怎么赢在未来.
易语言的用户群真的很大.所以我研究的东西还是很有市场的.
下图比较符合我对易语言的看法.原文http://hi.baidu.com/llc_cn/item/0a014bab24459816a9cfb72b
深度截图20130514141748.png但易语言已经有些老了,期望它像C语言一样有长久的活力.

易语言用户比C语言用户更好学呢
深度截图20130514144221.png
深度截图20130514144545.png
深度截图20130514145112.png
Reply View the author
笑生
deepin
2013-05-13 23:04
#69
geny!
Reply View the author
electricface
deepin
2013-05-14 05:26
#70
想不到易语言模块还有这么贴心的命令深度截图20130513212657.png深度截图20130513213051.png
Reply View the author
xgsong
deepin
2013-11-29 22:23
#71
我也觉得中文编程没有意义,至少没有英文方便,或者混合编程也行!
Reply View the author
186******98
deepin
2013-11-29 22:56
#72
想不到易语言模块还有这么贴心的命令深度截图20130513212657.png深度截图20130513213051.png
侯哥是易语言专家啊, 可以问问他啊, 像写小说那样写程序
Reply View the author
jhkwei
deepin
2013-12-01 23:14
#73
英文到英文的有不少,比如:haxe, 这个可以to C++,t*,to ActionScript 可是to出来的代码不是给人看的,还有cweb,这个更牛可以象写文章一样写程序,tex 有版就是用它开发的,不过也没有看到其他人用,还有c to verilog 这个不说了,简直淡痛,编器时用中文是痛苦的。就是gb2312 to utf8 ,utf8 to gb2312 稍稍不好,一堆乱码。
Reply View the author
mistymonarch
deepin
2013-12-02 06:09
#74
正是我有意成为设计师才愿意设计中文编程的,如果我是程序员我才不会想要去研究中文编程,我知道开源的力量想要创造一门新语言是很简单的,只是中文编程缺乏最关键的东西,得有一种文法能够统一今后的所有中文语言编程语言,这英文编程语言的文法很早就诞生了,但这种英文文法不能发挥出中文的优势,反而限制住了中文的输入速度。中文编程现在有两个我发现的问题,一是输入速度,二是表意。

http://www.cnblogs.com/SkyD/archive/200 ... 48520.html
难道你们都是十分高级的软件工程师,这样的软件工程师中国也没有多少,会linux更少,而且愿意开发linux软件的公司更少.为什不往这个方向努力一下,为什么不把更多的事情交给机器去做.为什么要逼着苦逼的程序员学这个学那个.
你不简化开发,谁愿意给你这平台开发.我看deepin-ui写一堆的文档都没有用,只要你写可以拖拉控件的设计工具.立马就有人用.

所谓的国际交流,利用翻译机翻译过去的代码岂不是更加标准化(这是一个中国的普通程序员很难做到的),再说大部分商业代码是不会开源的,商业公司敢拿着自己的代码去和别人交流?
LINUX软件少,我感觉是因为LINUX的包管理暂未统一.IDE未标准统一化.如果一家LINUX软件公司要得到收益就得花更多精力去适配.如果如同微软一样统一了IDE效果将是另一翻景象
Reply View the author
xliang9550
deepin
2013-12-02 07:15
#75
FreeBasic and FBIde are good enough for me...
Reply View the author
4 / 4
To page