«

十一 08 2018

软件开发算知识吗?

根据维基百科对知识的解释:

那么,软件开发,经常被称之为编程的玩意,是否是是对某个主题确信的认识,并对其能力为特定目的而使用?

为什么想写这个话题

这个话题并不是我先提出的,我也是看到这篇文章的第一段之后产生的感想。

然而光有感想是不够的,如果不能切身体会到主旨,臆想出来的文章,要比真正的经历差太多。虽然现代人更喜欢今日头条那样八句话不着边的胡诌,但我不是正常人啊

编程是否为知识

编程是否是是对某个主题确信的认识,并对其能力为特定目的而使用?

以不假思索的方式来讲,编程当然是了。

编程,全名应称之为计算机程序设计(英语:Computer programming),或称程序设计(programming),是给出解决特定问题程序的过程,软件开发过程中的重要步骤。——维基百科

说白了,编程,就是将解决问题的过程步骤经代码程序化的过程。如何理解 问题的过程步骤 即为 某个主题确信的认识 , 程序化 则是对编程语言进行特定目的而使用。

这突然让我想起初中时,自己在文曲星上写的一大堆 GVBASIC。比如解一元二次方程,就是把

一元二次方程

代码化的过程。

NC1020

GVBASIC的语法我已经忘得一干二净了,但这代码到现在放在文曲星模拟器上还能跑。

软件开发是否为知识

编程只是软件开发过程中的一个步骤。软件开发(英语:Software development)是根据用户要求建造出软件系统或者系统中软件部分的一个产品开发的过程,其包括需求获取、开发规划、需求分析和设计、编程实现、软件测试、版本控制的系统工程。换句话说,软件开发就是一系列最终构建出软件产品的活动。——维基百科

软件开发是怎样的

我最近在做一个 Web服务日志分析工具 ,打算用纯 Javascript 写,这样就可以完全跑在浏览器上,或者封装成本地应用。

从需求分析,到分析流程,到代码实现,到逻辑优化,花了好一阵子,总算把核心代码搞定了。现在只需要2秒钟,就能将 80M 30W行 的 Apache 日志文件解析成所需的数据。

然而接下来有个问题就吓到我了。

因为 Angular 已经 3 年没写了,而那时还是 Angular 1.x。这个需求是 SAP ,所以考虑继续用 Vue ,毕竟半年前还是在用 Vue 的。

结果呢,首先 vue-cli 从 2.x 升级到 3.x,而 npm 源根本没有更新(正式发布3个月后),所以这工具按正常流程就没法用了。其次 Webpack 版本大升,旧配置文件无法读取,依赖变化极多。我本想直接把半年前的项目模板拿来直接套用,结果依赖问题一天都没解决,而半年前那个项目可是费了老大劲才全用上的当时最新版本。现在回来继续看文档, Webpack 的变化量和重新学习没什么区别了,vue 那狗屎一般的文档结构,重新学习的话还不如直接换掉。

如何实现功能,如何高效优化,如何美观展示,这些工作加起来所需的时间和心血,远小于为了让程序跑起来而浪费的时间。感觉就是在浪费生命。

Get start

AVGN

和办税票没什么区别,规章制度/文档参数 一换,屁用都没了。

经验都算不上

大家不是一直很爱的这种鸡汤嘛:拥有十年工作经验,还是一个经验用了十年?

甭说一个经验用了十年,一个经验半年就过期了,还用个屁。

以前我是不知道,但现在,连经验都算不上的玩意,还充当个屁的知识。

5 comments

Skip to comment form

  1. 方室
    Google Chrome 70.0.3538.80 Google Chrome 70.0.3538.80 Android 9 Android 9
    Mozilla/5.0 (Linux; Android 9; Pixel) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36

    常识而言,编程不是技能吗?就像我用三维软件建模一样。这算啥知识。

  2. 大致
    Firefox 63.0 Firefox 63.0 Windows 7 x64 Edition Windows 7 x64 Edition
    Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0

    还是C语言好啊……

    1. 石樱灯笼
      Google Chrome 70.0.3538.77 Google Chrome 70.0.3538.77 Windows 7 x64 Edition Windows 7 x64 Edition
      Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36

      刚想说JAVA应该是最爽的,结果后来一想后面还有kotlin呢。

  3. 萃香西瓜
    Google Chrome 70.0.3538.77 Google Chrome 70.0.3538.77 Mac OS X  10.12.6 Mac OS X 10.12.6
    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36

    知识这个定义抛开不谈,其实我们真正在意的是现在我们所掌握的能力在多长时间内还能持续产生价值,很遗憾的是我们这个行业里的知识技能半衰期远远短于其他行业,这是行业的本质(知识密集型) + 行业的活跃度决定的
    你已经算快的了,几天就重新搭建了一套生产环境,这里面和你之前的经验(IDE选型、语言选型、框架选型)是分不开的

    但是,软件项目里的管理层人员、框架和生产工具,最终最好的结果是“让软件实现从知识密集型变成劳动密集型,同时还保持员工自我感觉是知识密集型的”。目前大家没有找到逃离这条道路的切实方法,所以都很恐慌

    1. 石樱灯笼
      Google Chrome 70.0.3538.102 Google Chrome 70.0.3538.102 Windows 7 x64 Edition Windows 7 x64 Edition
      Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36

      唉,过时的生产环境,搭的再快也没什么意义啊。
      大家并不恐慌,恐慌的只有少数人。多数人完全不恐慌,多数人互相鄙视。大家全都耗在互相鄙视上,这才是“最好的结果”

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.