当前位置: 首页 > news >正文

用多了编程工具,还是Editplus3最贴心

编程久了,发现越是复杂的编程工具越是烦人,而不是帮助人。

早期Java届是没有统一的IDE的,有些人习惯用文本编辑器,但苦于缺乏提示,有些人从一些渠道用上了JBuilder,但毛病不少,直到Eclipse化解饥渴。

早期的Eclipse真是一股清流,安装简单,使用方便,就像用纯Java写代码般舒心;但好景不长,各种第三方Jar包和第三方插件迅速多到让人苦不堪言,动不动就出毛病;后来,CVS/SVN/git也来添乱,这时的Eclipse就像定时炸弹,只要项目够大,参与的人多,它是小毛病不断,大问题随时在路上。Eclipse后又出了个MyEclipse,这个功能就比纯Eclipse强多了,也省去了部分安装的烦恼,但人多就出乱子的问题还在。

Eclipse后来叫STS,同时它的竞争对手Idea也出来了,舆论都说后者如何如何了得,但我感觉是半斤对八两,先入为主占主要成分,其实也没得挑,大家用啥就用啥了,但人一多就容易乱陀的毛病两个IDE都一样不可救药。

程序写得多了就渐渐发现,编程的类库工具环境都在日新月异地升级,但写来写去总是CRUD代码,从界面到控制层持久层的一套代码写下来越写越恶心,越写越感觉低级,都感觉做事都不要动脑筋,但事还总做不完。我不断发现,身边的新手并不愿意向老手讨教什么,因为他们遇到的问题百度一下就有现成答案,拷贝一下就能用;他们的生产效率也不差多少,因为CRUD代码谁写都差不多;大家虽然坐在一起,但上班来下班走,彼此间就像陌生人,眼神都不需要交流,团结互助非必要,拉帮结派含沙射影落井下石却大有人在。这些其实都不是我想要的,是时候该回归编程的乐趣了。

快乐编程其实真不需要复杂的IDE,一个合适的文本编辑器足矣!提示什么的都不重要,熟了就不是问题;语法高亮现在的文本编辑器都能做到,没有问题也不大;需要编译器就装一个,然后直接用文本编辑器就好了。

我现在写Canvas代码,只用一个古早的文本编辑器Editplus3,然后用浏览器就可以解释执行了,这种至简的环境不知省去了多少麻烦;回想2017年准备参与个项目,他们说是按照环境安装手顺弄就好了,一打出来十多页纸,看都眼晕,找熟手帮忙吧他也鼓捣了近一天,还告我还有一半部件没弄好.....两厢比较,真不啻于天壤之别。

有种说法是每月固定的薪水比海洛因和游戏还可怕,海洛因和游戏给人提供的快感毕竟是虚幻的,工资却让你生活在真实的虚幻中,不能正确的认识自己,更无法发挥你的所长,直到有天失业,你才知道工资是平台带来的,而不是正比于你的能力。我现在回想起来,越是人多的地方越缺乏智慧,越是人多的地方越让人平庸,越是人多的地方越让你无所适从,越是人多的地方越容易迷失自己。反而是独处是更能激发一个的活力和创造力,这才是真实的自己。

也许我的晚年,只能是穿个焦黄的老破跨栏背心还好几个破洞的,坐在廉价出租屋,死皮赖脸去人家酒铺买半斤最便宜的散白,回家了,拿出屏幕都碎了的手机,蹭邻居家wifi,一边喝口酒一边拿使了3个礼拜的一次性筷子在吃了三天的花生米里夹一筷子,对着屏幕开始指点江山。其实这也无所谓,毕竟是我选择的生活,而不是生活选择的我。

最后高呼一句:编程有Editplus这样的文本编辑器足矣,让所有IDE都见鬼去吧!

END

相关文章:

用多了编程工具,还是Editplus3最贴心

编程久了,发现越是复杂的编程工具越是烦人,而不是帮助人。 早期Java届是没有统一的IDE的,有些人习惯用文本编辑器,但苦于缺乏提示,有些人从一些渠道用上了JBuilder,但毛病不少,直到Eclipse化解…...

Angular基础学习(入门 --> 入坑)

目录 一、Angular 环境搭建 二、创建Angular新项目 三、数据绑定 四、ngFor循环、ngIf、ngSwitch、[ngClass]、[ngStyle]、管道、事件、双向数据绑定--MVVM 五、DOM 操作 (ViewChild) 六、组件通讯 七、生命周期 八、Rxjs 异步数据流 九、Http …...

吊打ChatGPT4o!大学生如何用上原版O1辅助论文写作(附论文教程)

目录 1、用ChatGPT生成论文选题2、用ChatGPT生成论文框架3、用ChatGPT进行文献整理4、用ChatGPT进行论文润色5、用ChatGPT进行问题求解6、用ChatGPT进行思路创新7、用ChatGPT进行论文翻译8、如何直接使用ChatGPT4o、o1、OpenAI Canvas 9、OpenAI Canvas增强了啥?10、…...

Linux防火墙-常用命令

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。 我们经过上小章节讲了Linux的部分进阶命令,我们接下来一章节来讲讲Linux防火墙。由于目前以云服务器为主&#x…...

C++:STL常用算法随笔

主要的头文件#include <algorithm> < functional> <numeric> 遍历算法&#xff1a; for_each、transform(搬运容器到另一个容器中 ) void print1(int val) {cout << val <<" "; } for_each (v.begin(),v.end() , print1) 或者用仿…...

Python NumPy学习指南:从入门到精通

Python NumPy学习指南&#xff1a;从入门到精通 第一部分&#xff1a;NumPy简介与安装 1. 什么是NumPy&#xff1f; NumPy&#xff0c;即Numerical Python&#xff0c;是Python中最为常用的科学计算库之一。它提供了强大的多维数组对象ndarray&#xff0c;并支持大量的数学函…...

Flutter笔记--通知

这一节回顾一下Flutter中的Notification,Notification(通知)是Flutter中一个重要的机制&#xff0c;在widget树中&#xff0c;每一个节点都可以分发通知&#xff0c;通知会沿着当前节点向上传递&#xff0c;所有父节点都可以通过NotificationListener来监听通知,通过它可以实现…...

Aegisub字幕自动化及函数篇(图文教程附有gif动图展示)(二)

目录 template行 template pre-line template line template syl template syl noblank template char template notext template pre-line notext template syl noblank notext template keeptags ​编辑 template loop number 内联变量 ​编辑 remeber函数 re…...

系统分析师16:系统测试与维护

1 内容概要 2 软件测试类型 2.1 测试类型 动态测试【计算机运行】 白盒测试法&#xff1a;关注内部结构与逻辑灰盒测试法&#xff1a;介于两者之间黑盒测试法&#xff1a;关注输入输出及功能 静态测试【人工监测和计算机辅助分析】 桌前检查代码审查代码走查以上三个都是做的…...

详解Java中的堆内存

详解Java中的堆内存 堆是JVM运行数据区中的一块内存空间&#xff0c;它是线程共享的一块区域&#xff08;注意了&#xff01;&#xff01;&#xff01;&#xff09;&#xff0c;主要用来保存数组和对象实例等&#xff08;其实对象有时候是不在堆中进行分配的&#xff0c;想要了…...

C++类和对象下详细指南

C类和对象下详细指南 1. 初始化列表与构造函数 1.1 初始化列表概述 初始化列表在C中用于初始化对象的成员变量&#xff0c;特别是当你需要在对象构造时就明确成员变量的值时。通过初始化列表&#xff0c;成员变量的初始化可以在进入构造函数体之前完成。这不仅可以提升性能&…...

【瑞昱RTL8763E】音频

1 音乐播放控制 1.1 播放列表更新 文件系统在sd卡中保存header.bin及name.bin两份文件用于歌曲名称的存储。为方便应用层进行歌曲显示及列表管理&#xff0c;可将这两个bin文件信息读取并保存到nor flash中。需要播放指定名称的歌曲时&#xff0c;将对于歌曲名称传递给文件系…...

videojs 播放监控

<head><!-- 1. 引入videojs的CSS。 --><link href"https://vjs.zencdn.net/7.20.3/video-js.css" rel"stylesheet" /><!-- If youd like to support IE8 (for Video.js versions prior to v7) --><!-- <script src"htt…...

电源管理芯片PMIC

一、简介 电源管理芯片&#xff08;Power Management Integrated Circuits&#xff0c;简称PMIC&#xff09;是一种集成电路&#xff0c;它的主要功能是在电子设备系统中对电能进行管理和控制&#xff0c;包括但不限于以下几点&#xff1a; 电压转换&#xff1a;将电源电压转换…...

C++ 线性表、内存操作、 迭代器,数据与算法分离。

线性表&#xff1a; 线性表是最基本、最简单、也是最常用的一种数据结构。线性表&#xff08;linear list&#xff09;是数据结构的 一种&#xff0c;一个线性表是n个具有相同特性的数据元素的有限序列。 线性表中数据元素之间的关系是一对一的关系&#xff0c;即除了第一个和…...

PHP如何解析配置文件

在PHP中解析配置文件有多种方法&#xff0c;具体取决于配置文件的格式。常见的配置文件格式包括INI文件、YAML文件、JSON文件以及PHP数组文件&#xff08;即PHP文件本身包含配置数组&#xff09;。下面是一些常用的方法来解析这些配置文件。 1. 解析INI文件 INI文件是最常见的…...

【Java】六大设计原则和23种设计模式

目录 一、JAVA六大设计原则 二、JAVA23种设计模式 1. 创建型模式 2. 结构型模式 3. 行为型模式 三、设计原则与设计模式 1. 设计原则 2. 设计模式 四、单例模式 1. 饿汉式 2. 懒汉式 四、代理模式 1. 什么是代理模式 2. 为什么要用代理模式 3. 有哪几种代理模式 …...

Java IO流全面教程

此笔记来自于B站黑马程序员 File 创建对象 public class FileTest1 {public static void main(String[] args) {// 1.创建一个 File 对象&#xff0c;指代某个具体的文件// 路径分隔符// File f1 new File("D:/resource/ab.txt");// File f1 new FIle("D:\\…...

PCIe6.0 AIC金手指和板端CEM连接器信号完整性设计规范

先附上我之前写的关于PCIe5.0金手指的设计解读&#xff1a; PCIe5.0的Add-in-Card(AIC)金手指layout建议&#xff08;一&#xff09;_pcie cem-CSDN博客 PCIe5.0的Add-in-Card(AIC)金手指layout建议&#xff08;二&#xff09;_gnd bar-CSDN博客 首先&#xff0c;相较于PCI…...

二、创建drf纯净项目

1)创建项目 django-admin startproject api2&#xff09;创建app django-admin startproject api_app3)修改settings.py注释掉一些没用的配置 INSTALLED_APPS [# django.contrib.admin,# django.contrib.auth,# django.contrib.contenttypes,# django.contrib.sessions,# d…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile&#xff0c;新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...