是否有网络的高级语言?

Ola*_*lav 23 php language-agnostic frameworks high-level

前言

要构建动态网站,我们必须掌握至少四种语言:

  • 用于网页结构的HTML
  • 用于布局和设计的CSS
  • 用于交互的JavaScript
  • 业务规则或动态驱动数据的语言

此外,还有用于持久存储的SQL,用于会话和缓存的Memcache,用于许多不同内容管理系统的API .我们还应该考虑与OpenID,Facebook,Twitter,OpenSocial在构建Web应用程序时进行交互,以使其变得有趣.

总而言之,这是一个彻头彻尾的混乱!

如果考虑到两个目标:

  • 向孩子们教授网络开发
  • 保持团队合作

有哪些高级系统可以统一HTML + CSS + Javascript +(在这里插入高级语言,首选PHP)?


背景

  1. 我是一名软件工程师,拥有超过15年的项目负责人和开发人员经验,拥有Broadvision,Autonomy,Enterprise Java和Oracle等技术.

近年来,我专注于开发社区网站,使用Drupal或PHP框架,如CakePHP.我喜欢 Web开发,并且喜欢所涉及的技术之间的阻抗不匹配.我必然会得到一个更好的方法.

  1. 我是两个儿子(13和9)的父亲,虽然我不希望他们成为程序员,但我希望他们理解计算机不仅仅是游戏机.我喜欢激励他们对网络开发进行修补以表达自己.

每当我向他们展示点点滴滴时,我都希望他们拥有一个工具集,让他们在周日下午的一两个小时内创造出"有趣"的结果.

Oll*_*ass 12

GWT在某种程度上是一个高级工具包,让你编写Java来生成Javascript.

  • 我不太确定Java是如何比JavaScript高,但谁知道呢.反正我是主观的. (2认同)
  • java并不比javascript更高级,但GWT是因为它抽象你完全编写javascript.高级语言/工具包/库的要点是从某些东西中抽象出来,而GWT则做得很好. (2认同)
  • 一个有趣的方法可能是在客户端和服务器端都有Javascript,比如Helma http://dev.helma.org/. (2认同)

Dar*_*con 9

" Links是一种新的编程语言,旨在使Web编程更容易......链接通过为所有三层提供单一语言来减轻阻抗不匹配问题.系统为每一层生成代码;例如,将一些代码转换为Javascript用于浏览器,一些成为服务器的字节码,一些成为数据库的SQL."

起初我不打算发布这个,因为它是一个研究项目,而不是一个生产系统; 但所有这些答案都说"就是这样,处理它"就是一个反例.


小智 8

一个人应该如何向孩子们教授网络开发?

网络开发中的一群孩子已经使我们的职业退化了,因为现在几乎所有人都称自己为程序员,而我们越来越难以与他们保持距离并获得体面的薪酬.

要掌握多种语言和技术?那是一件好事.加入开发者行列会有一些进入障碍.

补充:通过以下评论我可以看到我没有完全清楚自己.我对年龄一无所知,无论是10岁,30岁,50岁还是80岁.这都是关于态度的.一个人是否理解并接受这样一个事实:除了在某些设计师或CMS中使用鼠标移动控件之外,还有更多的职业.有很多知识可以获得,包括CS的基础知识,算法,数据结构,数据库,架构,可扩展性,维护,性能,可扩展性,可用性,营销以及更多属于专业软件开发人员研讨会的知识.我一个人对这些人一无所知,也没有采取行动教育自己,努力变得越来越熟练,他们不属于这个职业.让这种观点有偏见.

  • @Jonathan Sampson,我认为没有人应该被称为"软件工程师".我们远离软件"工程",因为我们正在进入另一个星系.像'stackoverflow'这样的网站的存在表明我们注定要成为专业人士.给我看一位电气工程师,他坐在网上向人们询问他在设计电路时遇到的问题.如果他的雇主会因为披露任何细节而解雇他,我不会感到惊讶.是否有建筑师寻求在线设计平面图的帮助?我怀疑它是否存在,它们的价值是什么? (5认同)
  • 我讨厌对此有如此极端的偏见.我16岁并开始编程. (3认同)
  • @unknown SO绝对没有错.如果我们都在这里询问如何执行条件逻辑,那将是个问题.框架不出来帮助木匠做他们做的事情.每年都会创建他们必须熟悉的新工具.我们的工作在这方面完全不同.你提问的事实并不意味着你的价值更低. (3认同)
  • @ Chacha102是的,我也在那条船上.但令我震惊的是,当我十几岁的时候,我看着一个成年人的代码,感觉像是因为所有的错误和邋in而扼杀了他.我努力达到标准一致性,然而我看到的人比我大很多(有些甚至是"专业人士")在他们的代码中做了一顿饭,让我们很多人看起来很糟糕......虽然我理解像我这样的程序员有时很少而且很远.最令人沮丧的是当人们太无知,懒惰或顽固地学习如何清理和正确地做事.输入SO !!! :d (3认同)

jsc*_*arf 8

Web编程本质上是一门多学科的工艺.

造成这种情况的主要原因是因为关注点分离...... HTML和CSS以及JavaScript,SQL等不会在一种语言中混合在一起的原因是因为它们各自都有单独的目标,警告,陷阱和优势.

您能想象尝试调试在同一源文件中混合在一起的SQL,CSS,JavaScript和PHP代码的站点吗?你可能已经遭遇了这样的不幸.遗憾的是,有数千个这样的网站编写,这是一个完整的噩梦,试图调试或添加如此混乱的表示,数据和结构的合并.

总而言之,一团糟!一个人应该如何向孩子们教授网络开发?

我认为最重要的是教授编程的基础知识并使它们坚持下去.变量,逻辑,指针,内存管理,算法,数据结构等.

当你掌握了编程的基础知识时,很容易使用多种语言,选择新的语言,并且随着时间的推移易于改变.对于像Web编程一样不断发展和基于趋势的东西,这是一项非常宝贵的技能.

在我看来,新编程的人应该从较低级别的语言开始,比如C语言.人们应该学会编程的内在的基本概念,并且应该在获得PHP或Python之类的更高级语言之前获得幕后发生的事情的知识.

我认为这种对编程教学的态度将会培养出更好的网络开发人员,并提供一个进入障碍,将淘汰那些没有兴趣或智慧的人.我认为这种态度的结果将是更好的开发人员,更好的软件,以及最终更强大的语言和工具.

  • @ [sztomi]:啊是的,没有什么比在调试器中花费16个小时试图找到内存泄漏让新手真正欣赏编程提供的创建和发现的乐趣;-) (3认同)
  • 我认为ANSI C是理想的第一种编程语言 - 它可以让你相对容易地进步,并且仍然迫使新手程序员理解计算机的内部工作,特别是基本的内存管理. (2认同)

Sam*_*son 6

我认为你最接近的是.NET.许多语言都有很多框架,但我所知道的并不是所有语言都可以处理.除此之外,你不能试图让孩子们相信编程是在公园散步.这是一个艰难的职业,需要大量的学习和保持.我们与今天在这里的技术合作,明天就会消失.

如果你考虑一下,编程与木工或航空没有任何不同.几乎所有你选择的专业都需要你学习很多不同的东西才能更好地完成你的工作.


Joh*_*ood 5

你是如何向孩子们教授网络开发的?哇,这是一个棘手的问题.如何教他们手术,知识产权法或土木工程?或者就汽车机械,管道或总承包而言?

你有没想过在芝麻街录像带弹出?

当你贬低他的职业时,Elmo不喜欢它.

  • -1这种讽刺是无益的,居高临下,不必要的防御,最终适得其反.这有助于将节目从开放和平等主义转变为神职人员 - 除了牧师之外,没有人受益.奥拉夫不会轻视任何事情.他并不是说*专业*网络开发很容易,但他也明确没有谈论让他的孩子成为专业人士,只是让他们接触基础知识 - 这些都很容易,任何人(甚至是我)都可以学习它们,而这正是使网络成为一个民主的平台. (3认同)