搜索
首页后端开发php教程据说每个人都应该学习编程,那么学什么语言好呢?

年近三十,目前工作是事业单位会计,平时用不到编程。
但对编程感兴趣,高中时游戏玩烦了,自学做网站,会一点html、php,高中毕业几年后,靠做网站带来过收入,十几万吧,纯兴趣变成了半职业,然而好景不长,因为一度工作太忙、不够用心,给耽误了,这四五年逐渐就没再动,以前做网站主要靠的是cms和seo,php属于没入门水平,就能弄个记事本。
现在社会发展太快,自己也还有点兴趣,想利用工作闲暇把一门语言学好,一方面满足兴趣,更重要的是以备不时之需要,或许将来能派上用场,不知应该学习什么语言?

回复内容:

事业单位会计……
你知道以前(大约2000年)事业单位会计都学什么吗?
Visual FoxPro
以前没有那么多、那么强的相关软件,很多时候还得针对需求写一些自动处理的脚本,Visual FoxPro挺好的,用SQL语句,直观,反馈及时,在当时也算能大幅提高工作效率了(当时的xls可以轻松导入进去)。

以下个人观点:
面向潜在的工作需要:Excel中的VBA(大幅减少重复性劳动的工具)、Visual FoxPro(低优先级,毕竟太老了,虽然很难说有没有什么老数据需要用这个来处理)
面向自己的兴趣爱好:这个什么都有可能的,学Python写爬虫,折腾一下树莓派做个聪明的控制器,搞个手机上的小程序方便自己,折腾一个博客来记录,等等等等,重点是,自己有兴趣+有个愿意学习的心。 据说每个人都应该学习编程,那么学什么语言好呢? 会计,我怎么感觉excel的vba用顺溜了能大大加速你们的日常工作呢
重复三次以上的操作写代码去做,看看你的工作中有多少内容是可以写代码做的 学习Python 或golang。 做网站前端还是老三样吧,html, css, javascript.
然后 python.

为什么先学 python. 因为它的模块成熟,“见效快”。

差不多了,如果还想往"底层"探索,就 C 了。不要被 C++ 拐走了,那个学一下当娱乐消遣没什么问题,但是坑大。

C 的“模块”,“根基”也很成熟... 不过一般来说学 C 的话,“见效不快”。因为 C 的“根基”就是操作系统内核。C 的 "API" 基本上来说就是系统调用(就是说,《Unix 环境高级编程》)。到这里了,多少也要能看懂 C 编译器吐出来的汇编是怎么回事儿。然后联系操作系统内核、编译器、二进制工具等等,搞清楚这些“底层”玩意儿大概怎么工作的(是指,《程序员的自我修养》,《深入理解计算机系统》,《Linux设备驱动程序》,《Linux内核设计与实现》,《深入理解Linux内核》,《深入Linux内核构架》......)。这样 C 的坑其实是非常大的(不要让 C++ 拐走就是这个意思,C 的哲学是 -- 东西基本都是干货,只要你还能啃... C++么,则未必如是了,与其把时间浪费在 C++ 那些奇淫机巧上,不如啃点儿干货算了)...,因为如果读内核源码的话,需要 Makefile, shell script, linker script, asm 都要懂,硬件构架之类的当然也要懂点儿,不过不紧要,反正写内核的书上多少会提及,然后自己去查相关知识点就行了,就是个时间问题。

还有,数据结构和算法的基础当然也要在这个地方打下来,数据结构至少能写(抄也一样)查找二叉树,红黑树,能构建图,算法的话基本排序归并排序快速排序,排列组合生成,DFS BFS 这些基本搜索要会。

C 是见效不快。一般来说,一时半会儿肯定不会写网络爬虫什么的。然而,... 或许这一切都是值得的。

把 C 的递归搞清楚。函数栈帧怎么建立怎么销毁的,翻译成汇编码是怎样的,怎样把任意递归转化为栈结构 + 循环不变式。然后要能够推论出这样一个结论:任意循环都可以用递归表达,但递归不能通过不带栈结构的循环来表达 -- 也就是说,递归拥有比(不带栈结构的)循环更强的计算能力,实际上递归函数的计算能力等价于图灵机。到了这里 -- 传统上来说,已经登堂入室计算机科学/艺术之门了。

入门之后就随便玩儿了。

可以先写一个解释器来玩。这个要备一点儿自动机的基础理论知识(《自动机理论、语言和计算导论》),然后随便找一本编译书籍(《编译原理》)来看,一本不够的话加几本(《编译原理及其实践》,《编译器构造》),大概囫囵吞枣过一遍。再找一本教你写解释器的书来看,比如《自制编程语言》什么的。然后抄。抄完了再看编译原理,再抄。大概这样。
这意味着,你可以自己发明一门计算机语言了,虽然可能品味不佳,或者实现不好,但是,你确实能够写一门足够复杂的计算机语言了。

然后再随便玩儿。

比如 Lisp 系的,建议先玩 scheme.
Prolog, Haskell, Ruby, io, Erlang,... 有空了都玩玩吧。
反正这个时候学任何语言,一般来说花不了多少时间。如果只是要上手用,其实这个时候任何语言都是不用学的,临时学一下,模仿下风格,就基本能写得像模像样了。就是说这是真的玩儿。
反正你自己都能写语言了。这个时候,是培养“品位”。

然后再随便玩儿,比如内核来说,其实并不精通,但是反正要找的话也能找到代码在哪;编译理论里面的某个东西某段代码其实可以写得更加通用或者更加精炼;某个数据结构和算法实现比较有意思,想想怎么写,对比一下别人怎么写的... 大约就是干这种事情吧。

唉,其实还是怎么玩儿都不够的。到了这 level, 不能说很低了,但估计也没多高。未知还是那么多。不过,人生的乐趣,或许正在于此。 我建议python

不建议学习php、java、python、javasript这样的语言, 不是说这些语言不好, 你如果要去找专门的软件工程师职位的工作, 那学习这些语言都是不二的选择,用这些语言的公司多啊,工作好找。


然而, 题主是个会计,学编程主要是因为兴趣和实际对工作的帮助 ,所以我建议是去学习windows 系统下的.net技术体系,和.net平台下的首选语言c#


为什么学习.net平台和c#


题主说了学编程的原因其中一点是因为兴趣。 即然是兴趣, 那可以不考虑就业, 应该学习最酷的和功能最强大的语言,显然,c#是不二之选 。现在软件开发行业内这么多编程语言, 要说找出一种语法最炫酷、最便捷、功能最强大的语言, 那是非c#莫属了。


当然, 现在的一些函数式编程语言, 语法方面可以碾压c#, 但是我觉得那东西真的不适合非专业的玩家拿来把玩,学习函数式编程语言的难度要比学习普通编程语言来的大, 还不如用这些精力把简单的东西玩精呢,毕竟非程序员的主要工作不是编程。不过,如果对函数式编程有兴趣, .net平台下的 f#也是一个不错的选择。


第二点是要能派上用场。题主已经三十岁了, 在会计这个职业上已耕耘多年, 相信转行再去当程序员已经是不可能的了。 那也就是说不必去学那些IT行业里流行最火热的语言了。 而是要挑实用的学, 毫无疑问,c# 是还是首选 。用微软的技术开发软件有一个特点,就算在不同平台上, 编程的理念也是一致的, 换句话说就是, 假如你学会了用c#开发网站, 那么你可以非常顺利的过渡到用c#开发windows客户端应用程序、windows10 uwp应用(包括windows phone)、windows shell脚本,更不可思议的是,你还可以用c#开发android、ios应用,这简直就是一朝鲜吃遍天啊, 一种语言覆盖全平台, 问世间除微软的.net和c#还有谁能做的到?只要学会.net和c#, 以后想开发什么软件就开发什么软件,装逼工作两不误。


不可否认, 在库数量方面python和java是可能比.net来的多一些, 然而, 绝对大部库.net都是默认提供的,也足够开发任何想的到的功能了, 至少我写了很多年的.net 程序,从没碰到库不够用的问题。 而且 python和java库的最大的问题就是版本问题,我在使用python和java的过程中碰到的最多的问题的, 网上下载的库的版本和本地装的运行环境不一致, 导致各种莫名其秒让人抓狂的错误, 这些问题在.net中是碰不到的。此外,.net的文档也很齐全,不管是多么犄角旮旯的东西,在msdn上都有记录。


还有一个就是开发环境的问题, 如果用别的语言开发程序,必须要安装一堆如运行环境、IDE、服务器之类的东西,还需要各种配置,对专业程序员来说这没什么, 虽然题主不是小白, 但是搞这些东西还是花你不少精力。然而, .net的安装环境却是逆天的人性化,一个安装包, 点点鼠标,所有一切需要用到的东西都会帮你准备就绪, 只需要拿来用就可以了。 况且,学习别的语言, 往往还需要学点linux的使用方法, 这对非专业从业人员来说也是附加的压力, 如果学习使用.net和c#的话就完全没有这方面的顾虑了,windows server的使用和windows pc的使用无差。

最后,写代码也讲究体验啊,敲代码也要敲的带劲啊,因此,用什么IDE是很重要的。如果给市面上的IDE搞个华山论剑,那天下第一非微软家的 visual studio莫属不可,使用vs编码加调试的那个爽,是其它IDE难以望其项背的。


所以,不要纠结犹豫了,赶紧动手学习.net和c#

我不是来抬杠的...我建议学英语... 我现在在写Python代码,其实真不该多推荐给你的,用什么语言更多是自己的事。
如果你会PHP,还是继续PHP比较合适啊。 喜欢底层就学C啦,汇编啦。买块单片机开发版,买几本电路设计的书,买些元器件,电烙铁,示波器,就可以做些小玩意儿了。(注意安全)

高级一点的学函数式编程啦,比如scheme啦,haskell啦。学好了之后就可以混进函数式爱好者的高端圈子啦。

实用一点学js啦,py啦。做网站,写爬虫足够啦。

实在想不通的去学C++吧
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
PHP的当前状态:查看网络开发趋势PHP的当前状态:查看网络开发趋势Apr 13, 2025 am 12:20 AM

PHP在现代Web开发中仍然重要,尤其在内容管理和电子商务平台。1)PHP拥有丰富的生态系统和强大框架支持,如Laravel和Symfony。2)性能优化可通过OPcache和Nginx实现。3)PHP8.0引入JIT编译器,提升性能。4)云原生应用通过Docker和Kubernetes部署,提高灵活性和可扩展性。

PHP与其他语言:比较PHP与其他语言:比较Apr 13, 2025 am 12:19 AM

PHP适合web开发,特别是在快速开发和处理动态内容方面表现出色,但不擅长数据科学和企业级应用。与Python相比,PHP在web开发中更具优势,但在数据科学领域不如Python;与Java相比,PHP在企业级应用中表现较差,但在web开发中更灵活;与JavaScript相比,PHP在后端开发中更简洁,但在前端开发中不如JavaScript。

PHP与Python:核心功能PHP与Python:核心功能Apr 13, 2025 am 12:16 AM

PHP和Python各有优势,适合不同场景。1.PHP适用于web开发,提供内置web服务器和丰富函数库。2.Python适合数据科学和机器学习,语法简洁且有强大标准库。选择时应根据项目需求决定。

PHP:网络开发的关键语言PHP:网络开发的关键语言Apr 13, 2025 am 12:08 AM

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

PHP:许多网站的基础PHP:许多网站的基础Apr 13, 2025 am 12:07 AM

PHP成为许多网站首选技术栈的原因包括其易用性、强大社区支持和广泛应用。1)易于学习和使用,适合初学者。2)拥有庞大的开发者社区,资源丰富。3)广泛应用于WordPress、Drupal等平台。4)与Web服务器紧密集成,简化开发部署。

超越炒作:评估当今PHP的角色超越炒作:评估当今PHP的角色Apr 12, 2025 am 12:17 AM

PHP在现代编程中仍然是一个强大且广泛使用的工具,尤其在web开发领域。1)PHP易用且与数据库集成无缝,是许多开发者的首选。2)它支持动态内容生成和面向对象编程,适合快速创建和维护网站。3)PHP的性能可以通过缓存和优化数据库查询来提升,其广泛的社区和丰富生态系统使其在当今技术栈中仍具重要地位。

PHP中的弱参考是什么?什么时候有用?PHP中的弱参考是什么?什么时候有用?Apr 12, 2025 am 12:13 AM

在PHP中,弱引用是通过WeakReference类实现的,不会阻止垃圾回收器回收对象。弱引用适用于缓存系统和事件监听器等场景,需注意其不能保证对象存活,且垃圾回收可能延迟。

解释PHP中的__ Invoke Magic方法。解释PHP中的__ Invoke Magic方法。Apr 12, 2025 am 12:07 AM

\_\_invoke方法允许对象像函数一样被调用。1.定义\_\_invoke方法使对象可被调用。2.使用$obj(...)语法时,PHP会执行\_\_invoke方法。3.适用于日志记录和计算器等场景,提高代码灵活性和可读性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。