首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >【有奖问答】编程路上,你经历过哪些“时代的眼泪”?(已完结)

【有奖问答】编程路上,你经历过哪些“时代的眼泪”?(已完结)

提问于 2025-07-24 01:40:03
回答 22关注 1查看 678

翻开你的 Coding 记忆,是否还记得那些曾经火爆一时,如今却渐渐淡出视野的“古老”技术?前端刚入行时,你可能满怀热情地钻研 JQuery,写着繁琐的前端代码,如今已被 Vue、React 等新宠取代;后端或许从 C# 的“天下第一”,到如今 Spring Boot、FastAPI 的微服务潮流;数据库从 MySQL 的单机时代,到 NoSQL 的 MongoDB、Redis 热潮,再到现在的分布式 NewSQL…… 技术迭代的速度快得让人措手不及,昨天还是必备技能,今天可能就成了"上古知识"。

你见证过哪些技术的兴衰?快来评论区分享你的"考古发现",看看谁经历的技术变迁更丰富,谁才是真正的"互联网活化石"!

●活动时间:2025年7月17日~2025年7月23日,本次互动截至到2025年7月23日24时。

●本期奖品:开发者社区定制手机支架*1,我们将为点赞数最高的答主及最真情实感的答主分别送上一份奖品。

开发者社区定制手机支架
开发者社区定制手机支架

【特别说明】

●获奖名单将于活动结束后3个工作日内公布,礼品将于7个工作日内发放,节假日顺延。

●拒绝与问答话题不符的内容,拒绝抄袭、与其他回答雷同的内容,否则将取消获奖资格。

回答 22

憨憨AI

修改于 2025-07-23 05:03:11

​相信很多通过网上视频学习Java开发的小伙伴都是从Maven+IDEA开始的,工作之后就是在搭建好的框架下CRUD搬砖,但是我入职的新公司,接手的Java项目像是从时间胶囊里挖出的文物:​Eclipse工程里没有pom.xml,SVN仓库中散落着jdbc-2005.jarcommon-utils-2008.jar等十余个年份各异的依赖包,甚至还有某乙方公司早已消失的加密工具包。手动导入jar包的仪式感,瞬间让我梦回大学课堂——老师正演示如何下载Tomcat插件和SQL Server驱动


1. 原始MVC封装

老项目的Controller层是赤裸的Servlet,映射关系在手写web.xml中硬编码:

代码语言:javascript
运行
AI代码解释
复制
<servlet>  
    <servlet-name>UserServlet</servlet-name>  
    <servlet-class>com.xxx.legacy.UserServlet</servlet-class>  
</servlet>  
<servlet-mapping>  
    <servlet-name>UserServlet</servlet-name>  
    <url-pattern>/user_add.do</url-pattern>  
</servlet-mapping>  

而所谓的“Service层”,是直接继承HttpServlet的类,内部用字符串拼接SQL完成数据操作:

代码语言:javascript
运行
AI代码解释
复制
public void doPost(HttpServletRequest req, HttpServletResponse resp) {  
    String name = req.getParameter("name");  
    String sql = "INSERT INTO users VALUES('" + name + "')"; // SQL注入风险赤裸暴露  
    DBUtil.executeUpdate(sql); // 手工管理连接池  
}  

这种写法的震撼之处​:

  • 绝对的控制感​:开发者清晰掌控每个HTTP请求的生命周期,连ThreadLocal都是手动实现的;
  • 原始AOP思想​:在Filter里用try-catch-finally手动管理事务,比Spring的@Transactional早了十年;
  • 暴力美学测试​:直接写main()方法调用Service类,没有Mockito,但测试意图极其直白。

2. Delphi前端 + ExtJS

老系统前端是Delphi编译的exe桌面程序,新系统则用ExtJS 3.x实现B/S转型:

代码语言:javascript
运行
AI代码解释
复制
// ExtJS的Grid数据加载方式(2009年风格)  
var userStore = new Ext.data.JsonStore({  
    url: 'loadUsers.do',  
    root: 'data', // 字段映射全靠手动配置  
    fields: ['id', 'name']  
});  
userStore.load();  

技术代差的撕裂感​:

  • Delphi的“秒编译”​​:VB式的拖拽组件,点击运行直接生成exe,比Webpack热更新更简单粗暴;
  • ExtJS的配置地狱​:调试一个布局错位需要翻遍2000行配置项,而Vue的<template>只需30行;
  • 跨时空的CI/CD​:部署靠邮件发送class文件包,服务器上手动替换,日志里打印着:All tasks completed successfully

3. 黑暗森林

维护这类项目如同技术考古​:

  • jar包罗生门​:反编译2005年的common-utils.jar,发现注释:“加班修复日期bug@xxx”;
  • 版本降级陷阱​:为兼容oracle-driver-9i.jar,被迫安装JDK 1.4;

4. 老代码的启示

对比现代Spring Boot+Vue的流水线开发,老项目反而揭露了技术本质​:

  • MVC的初心​:哪怕没有注解,用BaseServlet也能实现清晰的职责分离;
  • SQL拼接的教训​:直接暴露注入漏洞,催生了后来的PreparedStatement和ORM框架;
  • 技术选型的轮回​:ExtJS的组件化思想,在React中借JSX重生;Delphi的快速开发理念,被低代码平台继承。

运维日志中的哲学​: [LegacySystem] Daily data archive completed. 那些在Eclipse里手动导入jar包的人,在Delphi控件面板前拖拽的程序员,才是真正“理解每一行代码重量”的工程师。


维护老系统如同在技术断层带中行走,但其中蕴含的原始工程思想​(如手动管理连接池、硬编码MVC)仍是理解现代框架本质的钥匙。我相信相比于现在的流水线生成,那时候的程序员应该会更有成就感吧

喵喵侠

发布于 2025-07-17 09:29:57

时代的眼泪,还是挺多的,我来说几个吧:

1.jQuery

以前写网页都是jq一把梭,jq操作dom非常方便,比原生用起来更简单,不需要写一长串的querySelector,each、eq等方法都很好用。只是如果页面复杂了,jq还是不太方便,比方说要有时候要显示一些元素,有时候又要隐藏,这个操作比较频繁,需要一个个手动操作,很容易出错。后面有了vue就可以通过双向绑定的变量来操作了。

2.angular

这个是谷歌出的mvvm框架,算是vue和react的前辈了。曾经流行过一段时间,后面不知道怎么搞的,语法改动非常大,版本升级像是两个框架。据说后来谷歌开发者大会上,angular的会场几乎无人问津,可叹!

3.php

以前博客和cms都很流行,建站都用wamp或者lamp,可以快速搭建自己的网站、论坛、博客等,即便不懂技术,也可以参照别人的教程一步步操作,顺利搭建WordPress、Discuz这样的开源网站。可惜后来市面上对php的需求越来越少,很多phper转了go。以前有个梗叫做“php是世界上最好的语言”,现在新入行的程序员估计都不知道吧。

4..net

这个是微软出的编程语言,也是比较老了,现在市面上后端大多都是Java,我记得以前我待的一家公司后端是.net,用的还是Windows系统的服务器。每次写一个H5 页面,还需要用.net的模版aspx来包裹,没有做前后端分离,不太适合现在的开发节奏。

5.flash

以前 4399 小游戏就是flash带火的,还有各大视频网站,优酷、土豆 、56、酷6等视频网站都是用的flash player,记得当年很多网站都用的flash做的网页特效,QQ和QQ空间还要专门下载安装flash呢。flash还分ie内核和chrome内核等版本,装错了还用不了。现在HTML5发展迅速,流媒体技术日渐成熟,就不再需要flash了。

总结一下,每个技术都会有自己的生命周期,就好像游戏会有很多个版本,不同时期市面上会流行不同的游戏一样。老的旧的技术如果没有更上时代,就会被逐渐淘汰掉,成为时代的眼泪。

不惑

发布于 2025-07-17 09:26:45

开发语言是有传承的,C、C++、Java、Python、PHP,一种语言代表一个时代,但是PHP在其中就很像一个过渡时期,短暂而又不璀璨;唐宋元明清,PHP在这个里面代表的是历史时期的五代十国,历史的车轮化身成GO语言的样子,无情地在PHP身上辗过,只留下一句,PHP是世界上最好的开发语言在空中回荡。

和开发者交流更多问题细节吧,去 写回答
相关文章
你经历过哪些优秀的C++面试?
一个高质量的 C++ 面试,通常不会仅仅停留在语法或简单的算法题上,而是要求候选人展示他们在实际开发中对语言特性和系统设计的深入理解。
不脱发的程序猿
2024/12/06
6900
你经历过哪些优秀的C++面试?
P6774 [NOI2020] 时代的眼泪
给定长度为 n 的序列,其中第 i 个点的权值为 p_i,保证 p_i 为 [1,n] 的排列。
yzxoi
2022/09/19
3230
黑莓手机的终结,是时代的眼泪
1月4日,是黑莓旗下BlackBerry OS和PlayBook OS支持服务的最后一天。
镁客网
2022/02/10
8370
黑莓手机的终结,是时代的眼泪
让UI设计师崩溃的瞬间,你经历过哪些?
隔行如隔山,这句话人人耳熟能详,但其实隔行并不可怕,大家各谋其事,各尽其职,倒也互不打扰,真正可怕的是,是内行还要受外行指点江山,而最难的部分,便是那沟通。流畅的沟通,和声细语,是有如时雨之化者;无效的沟通,言辞激烈,是话不投机半句多。
奔跑的小鹿
2019/01/24
7190
让UI设计师崩溃的瞬间,你经历过哪些?
【有奖讨论】那些年坑过你的编程问题
腾讯云开发者社区
2017/05/17
1.9K0
编程路上,送给处于迷茫中的你和自己
在迷茫中入行 从离校算起,踏入社会都快五年了,在最初的浑浑噩噩中度过了半年,终于在2013年上半年,我开启了编程这条不归路,或许你不会相信,我刚入行的时候,九九乘法表都不会写,甚至一个处了多年的哥们都嘲笑我,一个连Java都不会的人,居然跑去做Android,现在想起,内心还是一阵心酸,或许也是那句话,才让我更加坚定的走下去,跪着也要走完自己选择的路。 刚出来找工作的时候,那真的就是我的辛酸史,我是住在一个学校的宿舍,睁开眼,就是各种海投,能投的网站我都投了,包括一些地方的招聘网站或者生活类网站,只要有稍微
Java帮帮
2018/03/19
8470
【有奖测评】我的产品你来反馈,有奖!
智能存储是对象存储 COS 全新推出的一站式数据存储 + 处理云上智能解决方案,联合数据万象 CI、明瞳智控 ISS,提供图片处理、音视频处理、内容安全审核、文档服务、AI识别等能力,致力让用户放心将数据上云、高效使用云上数据、享受业务数据价值,打造企业数字化转型、智能升级的底座,助力各行各业的数字化、智能化发展。 (扫码参与智能存储活动,“码”上把豪礼带回家) 1 活动简介 “有奖测评,产品由你做主”,腾讯云存储产品体验官活动开始啦! 腾讯云数据万象提供一站式的专业数据处理解决方案,为云上数据赋能,助
云存储
2022/02/21
9031
表格问答完结篇:落地应用
不知道大家还记不记得,上一篇文章中的X-SQL和HydraNet都是来自微软的模型。微软作为一个老牌科技公司近年不仅在云计算领域迎头赶上,在AI方面也有很多优秀的技术创新和应用。依托于强大的Excel,他们在表格问答方面也有很好的落地土壤。
朴素人工智能
2020/04/21
2.1K0
表格问答完结篇:落地应用
【已结束】有奖讨论:程序员,怎么应对你的三十岁?
本文讨论程序员在30岁时面临的挑战和困境,以及如何通过技术和思维方式的提升来应对这些挑战。作者认为,程序员在30岁时可以尝试转型为技术管理或产品管理,以充分发挥自己的优势。同时,作者也鼓励程序员保持持续学习和自我提升的态度,以应对未来技术的更新迭代。
腾讯云开发者社区
2017/05/08
5K0
【已结束】有奖讨论:程序员,怎么应对你的三十岁?
编程路上,必不可少的编程技巧
在编程的过程中,有很多技巧,但是若不注意,就很容易忽略,即使是高级程序员会出现一些问题。今天,就几个编程技巧,进行一下总结,看看这些你是否有注意到?
测试小兵
2019/11/20
4260
关于Arduino Nano你没有经历过的坑
大部分玩 Arduino 的朋友,都还是从 UNO板子上开始玩,而这些板子的共性,就是都是用了 DIP(直插)28 脚封转的主芯片。而转为 Nano 的话,其实芯片核心并没有变化,但是封装从 DIP28 改为 TQFP32,兼容版的UNO用的和nano版是同样的芯片,软件方面都不需要变动,程序都是通用的。硬件方面又有什么不同呢?32 – 28 = 4,多了4个引脚。
单片机技术宅
2020/03/17
2.7K0
PowerQuery 猴子大仙来踢馆啦!有奖知识问答
这正是猴子大仙的猴子书,可惜,此书并未上市。(时间未知,佐罗会跟踪报道)我们知道国内的读者很缺乏资料,他竟然趁此来踢馆啦~~
BI佐罗
2019/09/23
8370
PowerQuery 猴子大仙来踢馆啦!有奖知识问答
腾云先锋【技术出题官,等你来挑战】有奖问答活动
成功参与,就有机会可以获得:丰富的实物礼包、大额的腾讯云代金券、腾云先锋(TDP)反馈交流群的丰厚积分
TDP 官方运营
2021/09/27
1.8K4
腾云先锋【技术出题官,等你来挑战】有奖问答活动
办公室政治你经历过吗?
很多人也会好奇,啥是办公室政治了,其实百度百科中解释道:一些人力资源研究者将复杂纷繁的「办公室问题」,统称为办公室政治。
程序媛淼淼
2022/09/01
2700
客户运营已进入CC时代,你跟上了吗?
最近,Zoom斥巨资收购Five9事件引发业内热议,做SaaS客服或SCRM、CRM的创业者们随之思考:他们所做的业务,是否也属于CC(Contact Center)。 答案显然是否定的,或者说他们的业务只是与CC部分重合。为了进一步澄清这个问题,我们首先科普一下,CC是什么;然后再说CC为什么比SCRM、CRM和云客服更受经营者追捧。 为什么CC在国外已普及, 而在国内却少有人知? Contact Center的概念在国内少有耳闻,但是在国外已经是一个非常成熟的解决方案。下图是咨询机构
腾讯企点
2021/08/12
1.1K0
大模型时代的向量数据库(已完结)
在人工智能与大模型技术迅猛发展的当下,非结构化数据的爆炸式增长对向量数据库的检索效率提出了前所未有的挑战。向量索引技术作为支撑大规模高维向量检索的核心,其演进路径直接决定了向量数据库在应对数据洪峰时的能力。本文将从经典索引算法FLAT的局限性出发,深入解析HNSW等图结构索引的技术突破,探讨索引优化如何成为提升大模型检索效率的关键。
用户11659095
2025/06/03
4090
你经历过完整的大数据平台迁移吗?
刚开始接到迁移通知,想着没什么问题,一个月应该可以搞定(毕竟无知者无畏)。可是当着手写迁移方案时,自己却不知道从何处下手。当第一次操作迁移讨论时,面对大家提出的问题,我才明白这是一个艰巨的任务啊,很有可能是一项吃力不讨好的工作。但是现有小机房,已经没有增加机柜的位置了。面对业务不断的增长,以及来自各个业务方的数据处理需求以及每天收到的几百条CPU告警和几十条存储告警,我们已经别无选择,就是一个字,干!
数据社
2021/09/23
9420
你经历过完整的大数据平台迁移吗?
程序员路上我的编程感悟
  编程的过程是痛苦并欢乐的。作为一个编程人(不敢叫程序员),当在汪洋的代码中苦苦寻找程序的BUG,当面临着一个 个技术难题而冥思苦想着解决办法,我时常带坐在电脑前或者在房间里漫无目的的走来走去,丝毫没有意识到时间在身旁匆 匆流逝,那种令人迷茫无助甚至压抑的感觉就像有一块大石头压在胸口让人喘息不过来;而当这些问题得到解决,我看着一 行行代码从指间飞到荧屏上,一个个功能模块在自己手中不断完成、完善,一切都雨过天晴,总算能交差了,这时只想着倒 头便睡。编程的工作就是一个字——累,尤其是心累,我想多数编程人都有同感。所以,个人觉得编程有时也是个力气活, 要身体好,而且意志坚定。当然除了这些,搞编程还要基础扎实,经验丰富,善于积累总结。多年来,我总结了如下的编程 心得体会。
田维常
2020/03/11
8470
4 大软件架构,你是否都经历过?
如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存、晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面。
二哥聊运营工具
2021/12/17
7310
4 大软件架构,你是否都经历过?
已完结,已上线,Java 生产应用级项目!
大家好,我是技术UP主小傅哥。今天来带大家体验一下 Spring AI 的 Easy 开发!
小傅哥
2024/05/28
4140
已完结,已上线,Java 生产应用级项目!

相似问题

【有奖问答】在编程工作的疲惫瞬间,你有哪些回血方式?(已完结)

201.3K

【有奖问答】你学过什么冷门的编程语言?(已开奖)

251.4K

【有奖问答】你有哪些数据库优化技巧?(已完结)

13788

【有奖问答】哪门编程语言是你的“初心”?(已完结)

261.1K
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
相关问答用户
五八同城 | Java程序员擅长2个领域
擅长1个领域
腾讯云 | 产品运营
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档