V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Hyperion
V2EX  ›  程序员

我到底应该着重学哪一门语言?

  •  
  •   Hyperion · 2011-06-05 10:43:22 +08:00 · 6259 次点击
    这是一个创建于 4680 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近突然开始苦恼, 我到底应该去精哪一门语言.

    我现在会的很杂, 擅长一点的有: php, javascript.
    可以基本看得懂, 也能写一点点的有: c, c#, vb.net, python, as3, ruby.
    完全不会的: java, c++.

    其他方面, 我对面向对象的认识有些不伦不类, 基本是对象和过程的乱伦体……

    而且我突然发现, 最近写东西, 写着写着语法会串……

    对web开发和各种手机平台上的应用开发有很大兴趣……

    我现在最想折腾的是 c++ 和 python, 但c#也不想放弃, 但实在是经历有限. 现在想挑一门或者两门可能为之奋斗终身(或者相对很长的一段时间)的语言.

    我有一点代码洁癖, 讨厌满屏大写字母, 喜欢驼峰, 可以接受一切"反人类"语法. 现在我还是个学生, 想花个几年来磨基本功, 不知道各位前辈有啥建议?
    28 条回复    1970-01-01 08:00:00 +08:00
    happypy1
        1
    happypy1  
       2011-06-05 10:50:35 +08:00
    语言不是问题,你学精通了其中一门,其它的都可以触类旁通的。

    楼主既然对WEB开发有兴趣,那就学PHP和javascript算了。

    不用纠结在语言的问题上。
    fengluo
        2
    fengluo  
       2011-06-05 10:57:04 +08:00
    Python无疑是无比优雅的~
    在对于快速开发相关应用上,python也具有相当优势。
    Livid做出v2ex这个案例就很经典吧⋯⋯
    觉得没有什么可以用一生的语言,或者是可以适用于任何平台环境的语言。对于开发者来说,拥有扎实的基础,和快速学习和适应越来越多的新技术是很重要的技能。
    magic
        3
    magic  
       2011-06-05 11:01:33 +08:00
    C语言能学好,你就很NB了
    chloerei
        4
    chloerei  
       2011-06-05 11:39:58 +08:00
    一门让你挣到钱的语言,一门让你感到乐趣的语言
    wenhuacn
        5
    wenhuacn  
       2011-06-05 11:48:58 +08:00
    继续把javascript 学到精通
    nodejs 的出现,js 成为全栈语言,能够完成完整应用的开发
    Hyperion
        6
    Hyperion  
    OP
       2011-06-05 12:48:05 +08:00
    @happypy1 php 觉得越来越不好用了... 而且也不能用来开发手机应用

    @fengluo 我的脑袋比较一根筋... 专点一门天赋我觉得对我更好一点点...

    @magic 工作以后会很好找么?...

    @chloerei 能举个例子么?...

    @wenhuacn 汗...天朝能够普及么? 前景好么?
    chloerei
        7
    chloerei  
       2011-06-05 13:13:51 +08:00
    @chloerei

    一门挣到钱的语言:直接看你理想中的公司的招聘页,需要什么技术人才。其实理想中的公司并不遥远。

    一门感到乐趣的语言:你觉得这个语言设计得很好,写起来很有快感,社区的人也让你感到亲和力,你喜欢用这个语言开发一些业余项目。

    我很走运,找到一个语言覆盖了这两个领域——Ruby,然后我又有更多时间去学别的技术。

    还有一些平台指定的语言,要用这个平台就是必学的,比如js对于网页前端,objective-c对于ios。
    reus
        8
    reus  
       2011-06-05 13:35:57 +08:00
    来学编译技术吧,自己做语言,自己选面向的vm,.net, jvm, cpython, llvm之类的。
    ethan_kang
        9
    ethan_kang  
       2011-06-05 13:40:09 +08:00
    语言只是工具,应该根据不同的目的使用不同的工具。
    如果是纯粹的语言爱好者,那我建议选择一些发挥空间比较大,语法优雅,并且充满乐趣的语言。
    比如:Ruby,C/C++,Python,JS等。
    iiduce
        10
    iiduce  
       2011-06-05 13:50:11 +08:00
    我觉着吧, 语言不是学的, 是用的。
    virushuo
        11
    virushuo  
       2011-06-05 14:09:57 +08:00
    C++实在是别学了。有c足够了。
    Hyperion
        12
    Hyperion  
    OP
       2011-06-05 17:16:26 +08:00
    @virushuo c++ 其实是以后考试得用...额

    @iiduce 但语法和弱点之类的经验, 得靠累积吧...

    @ethan_kang 我经常在python和js之间穿越...string对象...data对象...行尾分号...数组对象...等等

    @reus 擦汗...好伟大的理想...

    @chloerei ruby python 翻了下招聘信息, 好像都要有工作或者项目经验啊...
    newblue
        13
    newblue  
       2011-06-05 17:22:00 +08:00
    凑个热闹,你应该修炼深厚的内功,高级语言都是偏向招式的,你还是学汇编吧。

    如果你不急着找工作赚钱争生活费,你应该先找几种觉得合你胃口的学,然后用那些语言去写程序,慢慢的,你就会知道什么语言合适你了。

    别人跟你说,什么语言好,你觉得你可以学好吗?
    bruce
        14
    bruce  
       2011-06-05 17:22:05 +08:00
    Ruby or Python
    kasuganosora
        15
    kasuganosora  
       2011-06-05 17:25:05 +08:00
    最重要的是算法,语言只是个工具而已
    chloerei
        16
    chloerei  
       2011-06-05 18:05:58 +08:00
    @kasuganosora 奥,请问您从事什么行业需要用到重要的算法?
    xuwenhao
        17
    xuwenhao  
       2011-06-05 18:16:53 +08:00
    多花点时间看javascript吧,先通一项是很重要的
    kasuganosora
        18
    kasuganosora  
       2011-06-05 18:44:18 +08:00
    @chloerei 软件工程师而已.如果有好的算法基础的话 ,解决一些问题会比较快.语言的话 通一门,其他的也很快通
    Hyperion
        19
    Hyperion  
    OP
       2011-06-05 18:46:52 +08:00
    @newblue 基本每种都搭上了一点, 写个点简单的东西没什么问题... 而且我基本不挑食, 上手基本都没什么问题, 但都只是皮毛而已. 因为没接触实际工作, 所以想来了解一下现实情况- -+

    @xuwenhao js有什么特别的地方么?...
    Hyperion
        20
    Hyperion  
    OP
       2011-06-05 18:57:25 +08:00
    @kasuganosora 有人向我推荐java 有人向我宣传c++... 好像随便选一门实在有点太...

    哪一门语言熟练之后, 转型最快?
    aisk
        21
    aisk  
       2011-06-05 19:16:23 +08:00
    语言是技工的东西,号称精通XX语言,其实与精通车工钳工没有太大区别 要想有所作为而不是成为高级技工的话,还是花功夫在数据结构 算法 操作系统这些方面上吧

    可以先选择实现一个简单的数据库之类的东西,就算是把数据存储在文本也行,就朝这个方向努力吧
    Hyperion
        22
    Hyperion  
    OP
       2011-06-05 19:25:21 +08:00
    @aisk 数据结构...算法... 《算法导论》和《数据之美》两本书已经入手, 这方面已经有一点准备了. 现在可能是锉刀怎么使, 铣床怎么铣的方面的问题了...
    jjgod
        23
    jjgod  
       2011-06-05 19:35:57 +08:00
    我会选择 C 和 Python。C++ 虽然热门,但实际应用中的大型项目都是很谨慎地使用 C++ 特性的,比如 WebKit、Qt、LLVM 和 Google 公开出来的这些以 C++ 为主的项目,所以 C++ 复杂的“奇技淫巧”其实用处不大,如果能够精通 C 的话,基本上差异的部分也能够很快学会,学 Objective-C 这样的简单超集就更没难度了。

    Python 是一门非常好的工具语言,简单干净,没有过多的语法糖,但各类库非常丰富,开发起来速度很快,可以让你专注与程序的逻辑细节而不是繁冗的实现上,锻炼对项目的大局观和平衡感,这是很重要的。

    作为程序员,如果能用好 Python 这样相对比较高级的和 C 这样相对接近底层的语言,那基本上其他语言都不会有什么问题了。

    不过 JavaScript 比较特殊,考虑到它的广泛应用,也值得好好学,尤其是大多数人自以为会,其实还没掌握皮毛的情况下。
    kasuganosora
        24
    kasuganosora  
       2011-06-05 19:38:58 +08:00
    @Hyperion C吧 比较简单,没有其他复杂的东东,搞完C后可以看看算法方面的书,然后再弄其他语言也不迟
    Hyperion
        25
    Hyperion  
    OP
       2011-06-05 19:45:36 +08:00
    @jjgod 感谢...很详细...

    python我一定会继续研究下去. C和C++, 我自己更喜欢C.

    javascript, 我现在基本会操作原型对象, 但写东西基本要靠mootool或者jquery, 纯js写还得依靠一下手册... 不知道算不算懂了点皮毛...汗! 惭愧...
    Hyperion
        26
    Hyperion  
    OP
       2011-06-05 19:51:58 +08:00
    @kasuganosora 嗯... 感谢... C语言, 我还有内存管理这一大块没有啃下来...
    newblue
        27
    newblue  
       2011-06-05 21:17:32 +08:00
    @Hyperion 我建议是你多写写比较好。

    编程语言基本都差不多,写程序基本是数据结构和算法,只要数据结构和算法能应用得好的话,用什么语言都是一样的,只有语言本身的限制而已,不同场合挑选适合的工具很重要,所以把两三种用好,再适当的涉猎一些其他的语言,并不是一件难事。
    Hyperion
        28
    Hyperion  
    OP
       2011-06-05 22:01:11 +08:00
    @newblue 恩... 了解! 数据结构和算法...才是通用的...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1129 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 18:40 · PVG 02:40 · LAX 11:40 · JFK 14:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.