2to3的问题让社区不少人寒了心,但guido坚持要这样做,因为他认为这是python追求简单优雅所必须要做的。对于没有历史包袱的项目来说,直接选择用python3000肯定是明智的。对于已有项目,2to3、six这样的工具也是可以解决绝大部分问题。
大版本内的兼容性问题我还没遇到过,不知道有啥案例让我学习学习的。
对于活跃的开源项目,小的兼容性问题不容易成为项目发展的瓶颈。而对于不活跃或者设计较差的项目,即使是使用其它语言,时间长了,也一般不会是兼容性影响它的使用。
(我司的web后台几年前大部分是C++写的,理论上讲不会有兼容性问题,但是现在当有需求实现时,却没有人想去维护那一整片一整片的业务逻辑和不同的前同事造的轮子。)
如果说,你想写一个完美的能立即稳定下来并且再也不需要维护的软件,那还是用C语言吧(换言之,这样的东西python里不都是用C写的吗)
总的来说,我个人确实没怎么在python上吃过兼容性的亏,反而对C++大包大揽时留下的坑深恶痛绝
2. python的库恶心
哪个库?有C++的库恶心吗,有java的库恶心吗
3. python的使用场合
前面已经说过,guido是个有理想的人,他希望python在任何一个领域都能牛逼起来,所以python才会强调简单、通用,让你干啥都能想到它。在实际上,python也未能做到处处通杀,甚至还没能做到在某个领域的权威(在云计算领域,python应该已经快了),基于语言本身的特点,目前在运维、大数据、云计算、web、科学计算上都还混得可以
4. 找工作
积重难返,python更多的会在某种口味的创业团队使用,国内的大公司不大会直接招python程序员,像
@白如冰
说的那样。从社区上的招聘广告来看,大部分的岗位需求是web后台和运维系统开发的,web后台又有大部分是要求django的。
python的水不深,单靠对语言本身的考察,难以分清水平高低,于是,要么需要你有丰富的经验,要么你有坚强的毅力(比如C++学得很好)
最后,补充下,我极少在windows下用python(除了靠python在淘宝上秒杀了个手机),但每次一用就觉得别扭,也许这也是需要考虑的部分吧
5. 逼格
(1) 用什么语言都不能证明逼格,包括汇编,也包括lisp/haskell。
(2) 在适当的场合用适当的工具,解除耦合、减少重复、易于扩展才是对逼格的更高挑战。
比如有一组件对数据库有大量操作,我同事认为他要用C++模板元编程加上一些巧妙的设计模式来生成sql是逼格高的体现,我认为在这样的场景下至少要用上orm才能谈得上对逼格有要求。
大胆预测,10年后,python程序员不一定会更多,但python一定会使用得更广泛得多
Python的学习内容还是比较多的,我们将学习的过程划分为4个阶段,每个阶段学习对应的内容,具体的学习顺序如下:
Python学习顺序:
①Python软件开发基础
掌握计算机的构成和工作原理
会使用Linux常用工具
熟练使用Docker的基本命令
建立Python开发环境,并使用print输出
使用Python完成字符串的各种操作
使用Python re模块进行程序设计
使用Python创建文件、访问、删除文件
掌握import 语句、From…import 语句、From…import* 语句、方法的引用、Python中的包
②Python软件开发进阶
能够使用Python面向对象方法开发软件
能够自己建立数据库,表,并进行基本数据库操作
掌握非关系数据库MongoDB的使用,掌握Redis开发
能够独立完成TCP/UDP服务端客户端软件开发,能够实现ftp、http服务器,开发邮件软件
能开发多进程、多线程软件
③Python全栈式WEB工程师
能够独立完成后端软件开发,深入理解Python开发后端的精髓
能够独立完成前端软件开发,并和后端结合,熟练掌握使用Python进行全站Web开发的技巧
④Python多领域开发
能够使用Python熟练编写爬虫软件
能够熟练使用Python库进行数据分析
招聘网站Python招聘职位数据爬取分析
掌握使用Python开源人工智能框架进行人工智能软件开发、语音识别、人脸识别
掌握基本设计模式、常用算法
掌握软件工程、项目管理、项目文档、软件测试调优的基本方法
互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,中博软件学院、南京课工场、南京北大青鸟等开设python专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。
请点击输入图片描述
基于文本文档(Markdown) 设想好需要的基本需要的表、字段、类型;使用 Rails Migration 随着功能的开发逐步创建表;
随着细节功能的开发、需求,逐步增加字段,删除字段,或者调整字段类型;
第一个 Release 的时候清理 Migrations 合并成一个
随着后期的改动,逐步增加、修改、删除字段或表。
基本上我的所有项目都是这么搞的,这和项目是否复杂无关。
所以我前面为什么说思路需要转变。