大三狗,想要大四找到一线城市工作,主要方向是linux下编程,有linux c编程经验,最近一直在纠结是学c++还是python,请求各位解答,小弟拜谢…
回复内容:
有等答案的功夫python就学完了。 基本上只要是靠谱的公司都不是看你现在会什么语言才要你的。基本上找工作的时候也别抱着『我会XXX』就妄想这辈子只靠这个语言工作。 两个都学,并且还要学Python的C API。这样就可以任意互相调了。 28原则吧 80%精力学习c++ 20精力学习一门脚本语言
主要看楼主以后方向吧 如果是网络安全python肯定需要 如果是游戏可以先学lua
光学习语言是不行的 多看看优秀的源码的 openresty skynet stl
对于python可以先过书 几天搞定一个高级话题 如装饰器 迭代器 协程 元类
学一门学累了 看看csapp 算法导论 挺好 要完成一些成规模的项目,软件架构与性能都必不可少。C++正是为此而生,在尽量不牺牲性能的情况下,提供高层次抽象所需的功能。毕竟C所缺少的命名空间、高级数据结构等,使其完成大规模项目是有一定困难的。
不过C++并不是解决该问题的唯一方案。很多其他方案并不专注于同时确保两点,而是将目标集中于更好的软件架构,以及可以接受的性能。Python、Lua等很多语言都是如此。而同时,对于要求性能较高的部分,或者与系统结合紧密的部分,则是交给C模块去处理。这样的思路对大型项目是很有利的,架构方面因为有高级语言的支持而得到了更好的抽象,更容易实现复杂的逻辑。而循环次数较多的部分则交给C去处理。尤其是引入高级语言后,可以迫使人们将传递的数据交给高级语言,而不是C里随处使用全局变量。
所以,以实用的角度讲,Python+C是更好的选择。另外就是C++为了寻求性能与架构的折中而不得不引入很多概念,这些概念使得C++比C要复杂很多,同时其对架构的支持能力却又比高级语言查一截。
总的来说,我的建议是:
1. 学Python,反正很快
2. 学好C,结合具体的系统与函数库
3. 学Python与C结合的方法,比如Python的C模块、Cython、Swig等多种方式
4. 学一点C++语法,毕竟还是有一定概率会用到C++的库,但不要在那些奇怪的C++功能上浪费时间 语言有什么用处?不依附平台、需求和project,语言没有任何价值。
所以不要纠结什么c++、ruby、python、php之类的该如何选,要看你的职业规划、看你的需求和项目。 由c++入python易,由python入c++难 “人生苦短,我用Python”。不过,不要浮躁。
---------------------------------------------------------
语言只是做事的方法,你要专注于要做的事情本身。你应该根据实际需要选择合适的技术去学习。如果是想做网站后台,做爬虫,做系统管理……肯定python更好。如果想做游戏,做操作系统级编程,显然c++好很多。
而且,python和c++并非水火不容。两者都是c语言系的,基本语法差别不大,而且在python中的关键部分可以嵌入c/c++/java程序片段。没记错的话,python也被称作一种“胶水语言”。
-----------------------------------------------------------
从笔记本上摘几句相关的话供参考:
- 『你不应该“嫁”给任何特定的技术,而应该有足够宽的技术背景和经验基础,使自己能针对特定的情景选择好的解决方案。』——《程序员修炼之道》
- 『我永远不会用自己的技术来定位自己,而是用我已经做过的和我将要做的事情来定位自己。技术只是一种做事的方法。』
- 『软件开发界有很多这样肤浅的专业人士,这些人以“专业人士”为借口,只知道一门技术。』——《The Passionate Programmer》
- 『身为合格的程序员,扎实的基础+快速学习能力才是你最可靠的武器。至于何种技术,别担心,不过又是一种微风。』
- 『程序员就是程序员,写得出程序就是程序员。程序员不要在自己脑门上加太多修饰,什么C++程序员,什么Java程序员,什么Windows程序员,什么Linux程序员,这些加了修饰的程序员,其实不容易存活的。』
- 『学编程有点像修炼,心静神宁可以让学习更有效率,浮躁要不得。……不要贪多嚼不烂,一定要精于某一方面。』
- 『学以致用』
- 『学习是一辈子的事,不用着急。』
C和C++都有“开发人员过多精力放在人机对话上”的问题,而python好一些,代码逻辑密度更大,OO也比C++更容易。 语言不是女朋友,你可以有两个的~

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

在linux中,交叉编译是指在一个平台上生成另一个平台上的可执行代码,即编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。使用交叉编译的原因:1、目标系统没有能力在其上进行本地编译;2、有能力进行源代码编译的平台与目标平台不同。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver Mac version
Visual web development tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Atom editor mac version download
The most popular open source editor

Notepad++7.3.1
Easy-to-use and free code editor
