百科问答小站 logo
百科问答小站 font logo



编程那么难,为什么不弄一个大众一学就会的计算机语言呢? 第1页

     

user avatar   Ivony 网友的相关建议: 
      

这种语言有很多,批处理,脚本,BASIC,SQL都是……

编程难根本不在语言……


user avatar   aspwebchh 网友的相关建议: 
      

几十年前就有软件公司想开发出这样的技术了,只是这些技术有的已经死掉,有的也不是太火。

微软的winform和webform技术

这两种技术用来开发windows应用程序和网页,集成在当时宇宙第一的visual studio中,拖拽控件就能把软件界面做出来。连接数据库也不用写代码,按照系统提供的向导设置数据源,就能把软件界面和数据库连接起来,执行增删查改操作,把一个完整的windows应用或网站制作出来。

当年这二种技术流行的时候,微软的技术在行业里背上很大的骂名,被开发者们鄙视

比如visual studio和c#的使用者都是非专业人员,他们只会拖拽鼠标,不会写代码,不是专业程序员

比如visual studio和c#不能开发大型软件,大型软件都需要代码写出来,不能靠拖拽控件做出来,所以应该用java。

而实际上visual studio和c#技术是编程技术先进性的巅峰,微软开发出不用编程也能写软件的技术就为了降低软件开发的门槛,结果大家都不领情。因为没人用,这种技术也不会迭代更新升级,导致现在越来越式微,几乎处于无人使用的地步。

微软的access技术

access是微软开发的一种关系数据库,集成在office里面,安装整套office后,电脑上就会有它。 很多开发人员吐槽access垃圾,性能差,不支持远程连接,被mysql等关系数据库吊打,微软开发出这种没意义的产平简直脑残。而实际上access根本不是用来和mysql、oracle等数据库对标的,也就是说,他们虽然都有关系数据库属性,但不是拿来干同一件事情的。

专业程序员开发一个软件,会使用java、php、c#或其他语言做一个前端(界面),然后连接到mysql、oracle甚至mongodb、 redis等后端数据库进行数据访问,比如销售管理系统、仓储管理系统等各种各样的c/s、b/s软件。这些数据库可以被access替换,只是access性能或者分布式能力不行,所以没人会这么干。而实际上也不应该这么干,微软也不希望开发人员这么干,如果真要用微软家的产品,可以用sql server, access另有其用。

access中有表,对应的就是mysql等数据库中的表

access中有查询,对应的是mysql等数据库中的视图

与此同时access中还有窗体和报表,这是其他传统关系数据库没有的,而窗体和报表才是access的核心功能。

窗体和报表就是用来制作软件中的用户界面,可以展示和编辑数据表中的数据。换言之,用access的窗体和报表功能可以做出各种基于access数据库系统,如员工管理系统、销售管理系统,而且不用写一行代码,非专业技术人员不学任何编程语言也可以通过它做出可以实际使用的软件,门槛很低。

access其实就是某种大众一学就会的软件开发技术,比微软的winform和webform还简单,同时它也有大量的用户群体,这点在它一直作为office这个用户群体庞大的软件中其中一员就可以体现。

网页制作三剑客之dreamweaver

在上世纪或者本世纪初,只要是计算机专业的人,肯定都知道这个软件,他是网页制作的首选软件。

现在制作网页肯定离不开写代码,html、css、java。通过用点鼠标制作网页这种做法想都不会去想。 而dreamweaver就是通过一系列鼠标操作做出网页和特效,背后的html、css、js都是自动生成的,这大大的降低了网页制作的门槛。那个年代很多计算机培训机构都有这项技术的培训,和五笔打字、word、excel这类软件的使用同一个层次,可想而知难度有多低,普通人几乎就是学学就会。可惜经过二三十年的大浪淘沙,这项技术也淘汰了。

其实题主说的弄一个大众一学就会的计算机语言这种思路,很多巨头公司很早就在做了,只是这种模式不适合于现有的计算机体系技术,所以发展不起来。计算机技术经过这么多年的发展,基本上已经可以确定写代码是最适合制作软件的方法,区别无非就是用什么语言写代码,从最早的汇编到后来的c/c++,在到后来的java、c#,以及现在流行的python、go,难度都越来越低,如果还想再低,那就去用前面说的那些技术,不用写代码也可以制作软件,只是用这些技术制作出来的软件,有一定的局限性,或者不够美观,或者性能不足,或者有的功能难以实现,总之要做出高质量的软件,还是离不开复杂的编程。


user avatar   enzojz 网友的相关建议: 
      

工程领域里面很多,你可以不需要太多计算机知识,但是你需要很多领域内的专业知识

里面很大一类我们叫做组态软件


user avatar   haozhi-yang-41 网友的相关建议: 
      

这个世界上有很多事情是不学都会的。例如说:吃喝拉撒睡。

也有很多事情是一学就会的。例如说:走跑跳蹲爬。

然而上面这些事情,要做到人群中万分之一的优秀,别人才会稍微拿你当回事。真的要吃这碗饭的话,大概要做到顶尖的百万分之一甚至亿分之一。


所以,问你自己:你为什么要会“编程”这件事?

如果是想获得别人的关注和肯定,甚至作为职业技能,那我告诉你,就算真有这么一门“大众一学就会”的编程语言,你也没什么概率能卷到顶尖的百万分之一。

如果没有任何功利因素,仅仅是个人喜欢,那好办得很——麻烦出门左转找少儿编程


user avatar   gnadil 网友的相关建议: 
      

你如果理解了{ 函数、变量、条件分支if-else、循环、整数、浮点数、字符串 } 这几个概念,那么Python和JavaScript对你来说就是“一学就会的计算机语言”。

{ 函数、变量、条件分支if-else、循环、整数、浮点数、字符串 } 是一个理解“编程”这个概念的最小子集,如果你能理解这几个概念,你一定立刻马上能学会Python和JavaScript。

很多人学不会类似Python和JavaScript之类的最基本编程语言,归根到底还是无法理解上面这几个概念。


user avatar   wonderful611 网友的相关建议: 
      

复杂度不会凭空消失,只会在不同的系统之间转移。

编程的困难不是「英语那么难」的难,而是「写小说那么难」的难。

相当于一种模板,你往里面装东西就行的那种。

你说的这种「程序员」是有的,只是我们通常叫他「产品经理」


user avatar   ze.ran 网友的相关建议: 
      

软件里没有模糊的空间。

每一种行为,均需定义;每一种情况,均需处理。没有大概如此,没有差不多就行。高屋建瓴式的意见,领导艺术般的发言,皆无效果。每一个指令,都要落在实处,没有模糊的空间。

一个用户眼中的软件,只是他常走的那几条路,而对于系统构建者,他要写出整个城市,要造出所有人可能要走的所有的路,且并行不悖,没有冲突。哪怕只有一个人走这里,也要写出所有的可能。这其中的复杂度远超普通用户的想象,也常超出专业人士的预期。

此复杂度是系统的固有属性,与语言无关。

做个实验,不考虑编程语言,就用中文,你能不能说出你想要的软件?去想每一个页面,每一个流程,你会发现大量的思维空白。普通人只能说出几个痛点,说不出整个软件系统。

这毫不奇怪,写功能文档对于专业人士来说也是极痛苦的事。即便是个登陆页,对用户来说,密码能填对已是非常给系统面子了;而作为系统的构建者,你要考虑忘密码,重设,发邮件,还要防恶意重设,要有效期,要验证码,要发短信,还要防恶意发短信,要考虑外国手机发短信,要新用户注册,用户名要唯一,密码必须包含各种符号,好麻烦!算了,只支持电话号码注册,你要处理用户换号,要处理各种邮箱好友验证...

这些都与技术无关,不论什么语言,都要说清楚该怎么处理。以前会有人换个新号码,打开微信,发现还附赠了一堆好友,也是这个原因。

这还没到软件里面,单单是注册登陆,绝大多数的人,包括我,都不能轻易描述出模块的功能,更不必说整个系统,这与语言无关,亦不可通过语言解决。

系统固有的复杂度不可消除,用户也不知道自己想要什么,这两点为软件系统的构建定下了基调。这么多年的软件工程,无非是在隔离复杂性和加快用户反馈上做文章。

现在却被滥用在 app 上,各种莫名其妙的功能堆在一起,互不干扰,也没有联系,想想也是让人啼笑皆非。


user avatar   luo-wei-zi 网友的相关建议: 
      

是这样的历史:

最早计算机编程是机器语言,01的,打孔什么的,太难

于是就有人问编程那么难,为什么不弄一个大众一学就会的计算机语言呢?

好,安排。就出现了汇编语言。

然后有人问,这汇编语言编程那么难,为什么不弄一个大众一学就会的计算机语言呢?

好,安排。就出现了高级语言。

然后有人问,这高级语言跨平台编程那么难,为什么不弄一个大众一学就会的计算机语言呢?

好,安排,就出现了跨平台高级语言。

然后有人问,这些高级语言编译分发这么难,为什么不弄一个大众一学就会的计算机语言呢?

好,安排,解释型高级语言。

然后有人问,这些语言都要记住很多命令,编程那么难,为什么不弄一个大众一学就会的计算机语言呢?

好,安排,图形化编程。

然后有人问,图形化编程还要转换成高级语言,编程那么难,为什么不弄一个大众一学就会的计算机语言呢?

好,安排,低代码平台。

然后有人问,低代码平台还要一点点工程知识,编程那么难,为什么不弄一个大众一学就会的计算机语言呢?

好,零代码平台。

然后还有人问,零代码平台好像也不那么简单,为什么不弄得更简单一点呢?

最后程序员们一观察,原来这些人要的“简单编程”更像是“急急如律令,出现一个APP比淘宝加微信还牛逼,变!”


user avatar   tango-12 网友的相关建议: 
      

你可能刚刚发现了封装操作。。。

最早的计算机只认识汇编,就是这种画风的玩意:

别说你看不懂,我也看不懂。。。

汇编太难了,所以有了高级语言,编译器去处理汇编,你写高级语言就行了。

这个时候的代码风格就是大众认识的C,java,php之类的东西

高级语言很多东西也太难(太麻烦)了,所以现在有了框架,自带文件结构和一些基本文件,你往里面套方法就行了

你只要在指定的位置创建指定的文件,里面写指定的方法就好。

然而,很多方法实现太难了:

一个常用功能,写了460行,还引入了其他的文件。

不知道大佬是什么样的,但我是没办法重写DBUtils的,尽管很多功能能自己复现,但很多真的不知道咋写的。。。更多的是能写出来,但远远实现不了DBUtils那种通用性。。。

所以有了大把的开发用的包,你直接用包提供的API实现功能就行了,想这样,你就能白嫖别人写完的大把好用的方法:

然后:

个别甚至只要写个注解标注下就好。

但是软件写出来是给用户用的,所以软件写完了会打包,然后你直接用cmd执行软件就行了,设置直接写在配置文件里。

然而,即使是cmd和shell,对用户还是太难受了,你不想面对这个界面使用应用的

所以软件有GUI,把所有东西封装起来,那些程序员口中的米共山你不用看了,只要按照软件给你提供的界面使用就好。那就是你常见的软件。

你所说那种东西是存在的,经过层层封装,越是向上越是简单易用。你平时用的软件就是大众一学就会的计算机语言,只是经过高度的封装,让你不用面对那些乱七八糟的玩意。

因为代码那玩意。。。这么说吧,哪怕是程序员自己写的,过俩月自己差不多也看不懂了。。。

你想要的东西。。。大概是某果的自动化软件。。。不过我觉得不好用。。。


user avatar   s.invalid 网友的相关建议: 
      

相对论那么难,为什么你不来教我家猫相对论呢?


就像链接蓝牙那样,一看就会一做就懂的那种。相当于一种模板,你往里面装东西就行的那种。


醒醒!现在大学是个人都能上,开一门相对论科目那也是稍微一背人人过关。

但你学不会相对论,最主要的原因还是你就是只猫。我们把数学简化成掰手指你都没手指可掰,何况相对论。


就好像我们想尽办法把一切程序一切设备都傻瓜化了,而你,能把记事本玩明白吗?知道一个cfg文件怎么打开怎么修改吗?

连傻瓜相机到你手里你都玩的像傻瓜一样、快门光圈iso三要素你都理不清……您还想写图像处理软件呢?

想吧。

起码看起来比猫靠谱点——虽然结果都一样。




     

相关话题

  为什么中国有超级计算机,但是中国的 CPU 不行? 
  计算机系本科生有必要学习汇编语言吗? 
  如何直接跳出深层递归而不是一层一层跳出? 
  Linux 系统有没有关于 rm -rf /* 的保护机制? 
  「木兰」编程语言有什么特色? 
  为什么中国出了这么多厉害的互联网公司,但没有自己设计过编程语言? 
  可不可以用文言文再创造一种编程语言? 
  汉语编程语言意义何在? 
  有哪些令人拍案叫绝的算法? 
  为什么要有头文件? 

前一个讨论
为什么人转动眼珠,改变的是注意点,而不是视野?
下一个讨论
如何看待卖肉夹馍商户因「潼关」两个字被告?此事与逍遥镇胡辣汤是否有相同性质?





© 2024-05-09 - tinynew.org. All Rights Reserved.
© 2024-05-09 - tinynew.org. 保留所有权利