Существует ли язык высокого уровня для Интернета? - PullRequest
23 голосов
/ 30 августа 2009

Преамбула

Для создания динамических веб-сайтов нам необходимо освоить как минимум четыре языка:

  • HTML для структуры веб-страниц
  • CSS для верстки и дизайна
  • JavaScript для интерактивности
  • Язык для бизнес-правил или динамически управляемых данных

Кроме того, есть SQL для постоянного хранения, Memcache для сеансов и кэширования, API для многих различных систем управления контентом. Мы также должны рассмотреть возможность взаимодействия с OpenID, Facebook, Twitter, OpenSocial при создании веб-приложения, чтобы это было интересно.

В общем, это полный беспорядок!

Если принять во внимание две цели:

  • Обучение детей веб-разработке
  • Сохранение продуктивности в команде

Вопрос

Какие существуют системы высокого уровня, объединяющие HTML + CSS + Javascript + ( Вставьте сюда язык высокого уровня , предпочтительно PHP)?


Фон

  1. Я - инженер-программист с более чем 15-летним опытом работы руководителем проекта и разработчиком таких технологий, как Broadvision, Autonomy, Enterprise Java и Oracle.

В последние годы я сосредоточился на разработке веб-сайтов сообщества, используя Drupal или PHP-фреймворки, такие как CakePHP. Я люблю веб-разработку и наслаждаюсь несоответствием импеданса между технологиями. Тем не менее, неизбежный вывод, к которому я прихожу: должен быть лучший путь .

  1. Я отец двух сыновей (13 и 9), и хотя я не хочу, чтобы они становились программистами, я бы хотел, чтобы они воспринимали компьютеры больше, чем игровые машины. Мне нравится мотивировать их немного повозиться с веб-разработкой, чтобы выразить себя.

Всякий раз, когда я показываю им кусочки, мне бы хотелось, чтобы у них был набор инструментов, позволяющий им создавать "интересные" результаты в течение часа или двух в воскресенье днем.

Ответы [ 19 ]

12 голосов
/ 30 августа 2009

GWT в некотором роде превращается в высокоуровневый инструментарий, позволяющий вам писать Java для создания Javascript.

9 голосов
/ 31 августа 2009

" Ссылки - это новый язык программирования, разработанный для упрощения веб-программирования ... Ссылки облегчают проблему несоответствия импеданса, предоставляя единый язык для всех трех уровней. Система генерирует код для каждого уровня; для например, переводить некоторый код в Javascript для браузера, некоторые в байт-код для сервера, а некоторые в SQL для базы данных. "

Сначала я не собирался публиковать это, поскольку это исследовательский проект, а не производственная система; но все эти ответы, говорящие «вот так, разберись с этим», требовали контрпример.

8 голосов
/ 30 августа 2009

Как учить детей веб-разработке?

Армия детей в веб-разработке - это то, что унизило нашу профессию, потому что теперь почти каждый называет себя программистом, в то время как нам становится все труднее дистанцироваться от них и получать достойную оплату.

Много языков и технологий для освоения? Это хорошо. Пусть будет какой-то барьер для вступления в ряды разработчиков.

ДОБАВЛЕНО: Следуя комментариям, я вижу, что не совсем ясно выразился. Я ничего не говорю о возрасте, будь то 10, 30, 50 или 80. Все дело в отношении. Понимает ли человек и принимает ли тот факт, что профессия гораздо шире, чем перемещение элементов управления с помощью мыши в каком-то дизайнере или CMS. Нужно получить много знаний, включая основы CS, алгоритмы, структуры данных, базы данных, архитектуру, расширяемость, обслуживание, производительность, масштабируемость, удобство использования, маркетинг и многое другое, которые принадлежат мастерской профессионального разработчика программного обеспечения. Я, человек, неосведомлен о них и не предпринимает попыток самообразования и стремится стать более опытным, они не относятся к профессии. И пусть это мнение будет предвзятым.

8 голосов
/ 30 августа 2009

Веб-программирование по своей сути является многопрофильным ремеслом.

Основная причина этого заключается в разделении интересов ... причина того, что HTML, CSS и JavaScript, SQL и т. Д. Не объединяются на одном языке, заключается в том, что у каждого из них есть отдельные цели, предостережения, ловушки и сильные стороны.

Можете ли вы представить себе попытку отладки сайта, в котором код SQL, CSS, JavaScript и PHP смешан в одном и том же исходном файле? Возможно, вы уже имели несчастье сделать это. К сожалению, есть буквально тысячи сайтов, написанных так, и это полный кошмар, пытающийся отладить или добавить к таким грязным объединениям представления, данных и структуры.

В общем, полный беспорядок! Как один должен научить веб-разработке дети?

Я думаю, что самое важное - научить основам программирования и заставить их придерживаться. Переменные, логика, указатели , управление памятью, алгоритмы, структуры данных и т. Д.

Если у вас есть основы программирования, легко работать на нескольких языках, подбирать новые и легко менять со временем. Это бесценный навык для чего-то столь же постоянно развивающегося и основанного на тенденциях, как веб-программирование.

По моему мнению, люди, плохо знакомые с программированием, должны запускаться на языках более низкого уровня, таких как, например, Си. Людям следует познакомиться с внутренними, фундаментальными концепциями программирования и получить знания о том, что происходит за кулисами, прежде чем им даже покажут язык более высокого уровня, такой как PHP или Python.

Я думаю, что такое отношение к обучению программированию будет способствовать воспитанию лучших веб-разработчиков, а также созданию барьера для входа, который отсеет людей, у которых нет интереса или интеллекта. Я думаю, что результатом такого подхода станут лучшие разработчики, лучшее программное обеспечение и, в конечном итоге, более мощные языки и инструменты.

6 голосов
/ 30 августа 2009

Самое близкое, я думаю, вы получите .NET. Существует много платформ для многих языков, но ни одна из тех, которые мне известны, не обрабатывает абсолютно все. Кроме того, вы не должны пытаться убедить детей, что программирование - это прогулка в парке. Это сложная карьера, которая требует большой учебы и поддержки. Мы работаем с технологиями, которые здесь сегодня и ушли завтра.

Если подумать, программирование ничем не отличается от столярного дела или воздухоплавания. Практически любая профессия, которую вы выбрали, потребует от вас многого научиться, чтобы быть лучше в том, что вы делаете.

5 голосов
/ 31 августа 2009

Как вы должны учить детей веб-разработке? Вау, это тернистый. Как можно научить их хирургии, или закону об интеллектуальной собственности, или гражданскому строительству? Или по этому вопросу автомеханик, или сантехника, или генподряд?

Думали ли вы о том, чтобы появиться в ленте "Улица Сезам"?

Элмо не нравится, когда вы упрощаете его профессию.

4 голосов
/ 30 августа 2009

Индустрия программного обеспечения страдает от того, что неквалифицированные специалисты не делают ничего, кроме создания продуктов низкого качества, и в то же время отвлекают эту профессию от превращения в настоящую инженерную дисциплину. Это не то, чтобы получить сертификат. Ради любви к Богу, не «учите» кого-либо разработке программного обеспечения. Объясните им, что создание отличного программного обеспечения происходит только благодаря многолетнему опыту и огромным знаниям прошлых и современных технологий. Худшее, что вы можете сделать, это представить еще одного недоделанного разработчика, создающего работу для других, работающих с ними. Скажите им, чтобы получить образование. Я знаю, что это не тот ответ, который вы, вероятно, хотели услышать, но я хотел, чтобы это прочитали.

2 голосов
/ 31 августа 2009

Джанго поможет вам пройти часть пути через его чистоту. Он ориентирован на производительность. Преподавание не легче, чем любой другой язык / структура, но посмотрите на это так: когда вы обучаете этому инструменту, ваши ученики хорошо осведомлены о том, насколько простым оно должно быть . Они никогда не примут Java-сервлеты или подобные кошмары после изучения Джанго.

2 голосов
/ 31 августа 2009

Программирование (PHP / JS) и формат документа (HTML / CSS) - это две разные вещи. Обучение программированию на PHP и JS одновременно также будет трудным.

При запуске вы должны сосредоточиться на HTML и JS на клиенте. Затем вы можете позволить им программировать javascript на сервере . Это сделает его только одним языком программирования и сосредоточится на HTML поверх CSS для начала.

Как только они изучат основы JS и HTML, вы можете научить их более широко используемому языку программирования на стороне сервера (например, PHP, Ruby и т. Д.) И CSS.

2 голосов
/ 31 августа 2009

Языки - наименьшее из ваших беспокойств. Это проблемная область, с которой они работают, это сложно. Использование разных языков на самом деле делает вещи более управляемыми, потому что: а) это делает границы явными и б) языки могут быть оптимизированы для домена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...