LINUX.ORG.RU
ФорумTalks

Web Developers Will Rule The World

 ,


0

4

With the rapid expansion of Javascript into nearly every area of application, web developers can find interesting work as web designers, backend engineers, desktop software developers, hardware hackers, drone pilots, submarine captains, and mobile developers.

Javascript and HTML5/CSS are only going to continue to dominate in every industry, enabling companies and teams to focus on building great software, rather than suffering through hiring unique language and platform developers.

If software is eating the world, Javascript and the web stack are absorbing all the nutrients (…I had to).

http://blog.ionic.io/web-developers-will-rule-the-world/

JavaScript это реализованная мечта Java? ибо в «кросс платформенности» Java уже сильно уступает JS.

★★★★★

The Official Ionic Blog

The next generation HTML5 hybrid app development SDK

В следующем выпуске: пчелы объясняют, почему мед скоро станет основой мировой экономики.

ptarh ★★★★★
()

По мере допила WebAssembly и Vulkan - может быть. Вот только те Web Developers будут немного отличаться от нынешних JS-макак.

Ford_Focus ★★★★★
()

Нет, javascript не java, хотя потенциал есть, никто не пытается его развивать и тому тыща причин. Попытки вроде node-webkit потенциальное фуфло, потому что придётся для каждой платформы как для jre поддержку лепить, а разработчикам node-webkit до разработчиков жабы по численности и квалификации как до луны.

В кросплатформенности java рулит, и тем больше чем быстрее тебе надо писать app.

В JS для полноценного кросплатформенного app нужно поддерживать каждую платформу отдельно, реализуя нужные модули. Можно конечно ограничиться возможностями html5 и просто сосредоточиться на тех платформах, которые его поддерживают, но в этом случае до жабы по возможностями js не дотянет _никогда_.

ixrws ★★★
()
Ответ на: комментарий от Ford_Focus

Webasm и вулкан не самое нужное, даже не приоритетное в написании обычных приложений. Куда важнее доступ к файлам, камере, клавиатуре, мыши, всяким там штрихсканерам и всему тому, что из нормальных кросплатформенных языков вроде java, С++ и C# делается на раз - не делается либо вообще никак из js, либо нужно для каждой платформы лепить свою поддержку в своём app.

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

ixrws ★★★
()

Из-за того, что инструмент макак распространится повсюду, знания этих макак не станут применимы повсюду.

PS. Нет, не хочу обзывать всех веб-разработчиков маками, хочу сказать, что заявление «Web Developers Will Rule The World» - глупость. Умные веб-разработчики и так умеют в другие языки и технологии, а на остальных распространённость никак не повлияет.

Deleted
()

Веб-девелопер - не человек, это униженное в душе существо.

Гоните их, насмехайтесь над ними, по-всякому показывайте им, что они - изгои.

HeipaVai1o
()

Web Developers Will Rule The World

Почему will? js уже чёрт-знает-сколько-лет является самым портабельным кодом. Вот только 95% рынка webdev — биомусор, не умеющий в завоевание мира.

shahid ★★★★★
()

JS ещё немного осталось запудривать мозги юным падаванам. Выкатят Wasm и всё.

th3m3 ★★★★★
()
Ответ на: комментарий от Kaschenko

Не говори, наверное, c++ задрот какой-нибудь.

menangen ★★★★★
()
Ответ на: комментарий от ixrws

Куда важнее доступ к файлам, камере, клавиатуре, мыши

Настольный мальчик из криокамеры, браузеры уже могут друг-другу видео-звонить (без сервера).

special-k ★★★★
()

web designers, backend engineers, desktop software developers, hardware hackers, drone pilots, submarine captains, and mobile developers.

... janitors, taxi drivers, and McDonalds cashiers.

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

janitors, taxi drivers, and McDonalds cashiers.

Абсолютно верно, те вакансии которые скоро восполнят пррограммисты под JVM

umren ★★★★★
() автор топика
Ответ на: комментарий от shahid

нет, я тепло отношусь к Java, когда она где то далеко на бекенде и не ест мою память.

umren ★★★★★
() автор топика
Ответ на: комментарий от special-k

С чего вы взяли, что я не вкурсе про это? Однако прямого доступа к файлам как не было, так и нет. Попробуйте такой вот штук - почитайте файлы с фс, попишите в них, потом закройте вашу веб апп и сново откройте и пусть оно попробует их почитать и пописать заново без вашего участия. Ах да, оно же не может, оно же не имеет доступа к фс по путям, даже не обязательно даёт эти пути, какая жалость:)

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

И такие нюансы почти во всём. Веб пока хорош только для форм, и то простеньких, не дай бог это формы кассого аппарата супермаркета.

И не надо так свой дилетантизм тут проявлять, всё таки это лор.

ixrws ★★★
()
Последнее исправление: ixrws (всего исправлений: 1)
Ответ на: комментарий от umren

Если та среда, где обирают jvmщики рухнет, та самая крупнокорпоративная среда, то никаких макдональдсов не будет существовать, где же им брать кредиты и инвесторов? Будут деньги у вебстартапов занимать?:)

ixrws ★★★
()
Ответ на: комментарий от ixrws

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

пора бы узнать что такое node.js и сходить посмотреть на nwjs, все это там есть

umren ★★★★★
() автор топика
Ответ на: комментарий от umren

С каких пор nodejs стала уж прямо такой кросплатформенной? Не смешите людей. Парочка операционок на писюшниках и небольшие потуги за пределеами писюшников - это не кросплатформенность, а пшик. Да, там многое это можно, но чтобы лепить ui уже надо хотя бы webkit, а связка с ним работает с ещё меньшим количеством платформ вменяемо:)

Уж если предлагаете что-то, то тогда adobe flex, он хотя бы работает на многих платформах и вменяемо.

Речь же про браузеры, пока что единственное вездесущее js окружение. А оно убого.

ixrws ★★★
()
Ответ на: комментарий от umren

пора бы узнать что такое node.js

И тебе тоже пора. Когда узнаешь, и когда твой js-проект вырастет за пределы 300+ js'ников, ты окончательно познаешь такой оксюморон как «отладка динамически-типизированного приложения на продакшене после очередного рефакторинга».

Затем на хабре появится 100001-я статья на тему «как я переписывал приложение с javascript на %язык_программирования%».

И не надо тут про нетфликс и прочие пейпалы — у них есть миллиарды$ и прочие возможности, чтобы нанимать толпы высокооплачиваемых js-кодеров, толпы тестировщиков, архитекторов и прочего. Если у тебя нет за спиной лишних тонн денег и минимальных нематериальных активов в виде авторитета конторы и бренда, то подбирать нормальных js-программистов ещё сложнее, чем искать более-менее нормальных java-кодеров.

shahid ★★★★★
()
Ответ на: комментарий от shahid

Ты сейчас собрал тут кучу мифов которыми кормятся программисты под жвм, что бы не чувствовать себя покинутым?

Когда узнаешь, и когда твой js-проект вырастет за пределы 300+ js'ников, ты окончательно познаешь такой оксюморон как «отладка динамически-типизированного приложения на продакшене после очередного рефакторинга».

посмотрим, действительно мой текущий нодегс проект еще не ОМГ огромный, с другой стороны на динамических языках поддерживались кодовые базы в 3к+ исходников и проблем я как то не ощущал, тесты + модульность = решение проблем

И не надо тут про нетфликс и прочие пейпалы — у них есть миллиарды$ и прочие возможности, чтобы нанимать толпы высокооплачиваемых js-кодеров, толпы тестировщиков, архитекторов и прочего.

То есть по твойму JS это только для гигантов, остальные не потянут нанимать кадры?

подбирать нормальных js-программистов ещё сложнее, чем искать более-менее нормальных java-кодеров.

тут я тебе не возражу, статистики на руках у меня нет, как наверное и у тебя

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

umren ★★★★★
() автор топика
Ответ на: комментарий от umren

тут я тебе не возражу, статистики на руках у меня нет, как наверное и у тебя

Зачем статистика, когда есть опыт? Вон они все на hh и фриланс-сайтах висят, иногда даже годами. Опыт субъективен, но не хуже любой статистики.

То есть по твойму JS это только для гигантов, остальные не потянут нанимать кадры?

Хоумпаги не попадают под «проекты», ибо. Но это хорошая ниша и двигатель для экосистемы node.js.

на динамических языках поддерживались кодовые базы в 3к+ исходников и проблем я как то не ощущал, тесты + модульность = решение проблем

3к исходников — это вместе с зависимостями, картинками и css? Или картинки не учтены? Остальные бреши заткнуты деньгами: доп.расходы на кучи тестов и тестировщиков. А вот когда происходит натыкание на реально сложные проекты с трудноразбиваемыми кусками, то можно будет начинать песни петь. Например проект-сайт, где нужен встроенный кравлер...

shahid ★★★★★
()

См. прогоны телевизионщика из х/ф «Москва слезам не верит»

NixU
()
Ответ на: комментарий от ixrws

Веб пока хорош только для форм, и то простеньких, не дай бог это формы кассого аппарата супермаркета.

Любопытства ради, можно чуть подробнее, в чем проблема с супермаркетом?

Manhunt ★★★★★
()
Ответ на: комментарий от shahid

«отладка динамически-типизированного приложения на продакшене после очередного рефакторинга»

&$ть!

Сорри, не сдержался. Просто у меня ещё свежи в памяти эти воспоминания. Там, правда, был Erlang, но от этого не легче.

Miguel ★★★★★
()
Ответ на: комментарий от ixrws

Попробуйте такой вот штук - почитайте файлы с фс

Зачем О_О

не дай бог это формы кассого аппарата супермаркета

Пока ты спал все терминальные торговые интерфейсы перевели на веб.

А как насчёт взять сырой поток этого вашего видео, отсылать на нужный сервис по udp

Что за хрень вообще. Я не знаю чем ты занимаешься, но это херня.

special-k ★★★★
()
Ответ на: комментарий от shahid

И тебе тоже пора. Когда узнаешь, и когда твой js-проект вырастет за пределы 300+ js'ников, ты окончательно познаешь такой оксюморон как «отладка динамически-типизированного приложения на продакшене после очередного рефакторинга».
Затем на хабре появится 100001-я статья на тему «как я переписывал приложение с javascript на %язык_программирования%».

Клевая шутка))

special-k ★★★★
()
Ответ на: комментарий от special-k

Любимый миф ребят которые никогда не программировали толком на динамических языках.

umren ★★★★★
() автор топика
Ответ на: комментарий от umren

миф

Развенчайте наконец.

никогда не программировали толком на динамических языках

А это возможно в 21 веке?

shahid ★★★★★
()
Ответ на: комментарий от shahid

А это возможно в 21 веке?

Увы, да. Erlang, в AlertLogic.

Miguel ★★★★★
()
Ответ на: комментарий от shahid

Развенчайте наконец.

Вообще никогда не видел проблемы с типами и преобразованием типов ни в одном языке.
Ни разу не было такого, чтобы в метод передавалось что-то неправильное, и это долго пытались понять.
Мне очень сложно понять откуда вообще пошла эта байка, что что-то с типами должно путаться и вызывать проблемы. Обычно пишешь код - потом его запускаешь, и такой огроменный косяк как неправильный объект в параметрах метода (который ты отлаживаешь) виден совершенно сразу.
Может быть это идет от длительной компиляции, из-за чего программисты не могут запускать свой код, ограничиваясь стат.анализом - я хз. Я помню, была тут тема «Компилируете ли вы свой код перед коммитом?».
Может быть это связано с малоинформативным логом исключения в низкоуровневых языках...

В общем, непонятно.

special-k ★★★★
()
Последнее исправление: special-k (всего исправлений: 2)
Ответ на: комментарий от special-k

Ни разу не было такого, чтобы в метод передавалось что-то неправильное, и это долго пытались понять.

Начни, наконец, писать большие проекты. Тебя ждёт столько интересного...

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

При условии, что он туда пришёл. Потому что, знаешь, обычно функция вызывается не один раз и не с одинаковыми параметрами. И даже 100% покрытие тестами ничего не гарантирует.

А потом, когда в продакшене система свалится, ты будешь долго думать, как именно это значение умудрилось там оказаться. Коллстек-то у тебя, вероятно, будет — но всё, что ты в нём увидишь — это то, что значение взято из массива, а как оно там оказалось — тайна, покрытая мраком.

Простейший пример. Вместо значения пришёл null. Почему? Потому что кто-то решил, что, если получить значение, скажем, с внешнего сервиса не удалось, вернуть null — хорошая идея. Но твой код не проверялся в условиях, когда интернет на пару минут отрубился, поэтому в твой код всегда приходило не-null значение.

Хаскеллист в таких случаях всегда использует Maybe — и дальше уже система типов говорит ему: мил человек, у тебя ошибка, ты используешь Maybe Int как Int, а так нельзя. Скальщик использует Option, окамлист — option.

Да-да, NullPointerException — это ошибка типизации. Только не все об этом знают.

Другой пример. У тебя в функции один из аргументов — массив чего-нибудь. Ты по нему итерируешься, а затем передаёшь его в другую функцию, которая должна добавить в него ещё что-то. И всё хорошо — только массив из этой другой функции иногда возвращается неизменным. И вот ты сидишь и морщишь репу. А разгадка проста — на самом деле в функцию пришёл не массив, а Set. Но ты не заметил, потому что все методы, которые ты используешь, с Set работают. Только вот добавить туда вторую копию того, что там уже есть — невозможно. Статическая типизация поймает это до запуска.

И так везде. У меня был случай, когда эрланговский процесс (скажем, X) вдруг ни с того, ни с сего начал падать. Не говоря ничего в логи. Более того, это был кусок кода, который вообще не трогали.

Оказалось, что другой процесс (скажем, Y) работал слегка неправильно. Он в какой-то момент нарушал типизацию и падал. Но супервизор тут же его поднимал. А теперь этот Y (точнее, третий процесс, который Y использовал) подоптимизировали. Супервизор увидел, что Y стал падать слишком уж часто, сказал «да пошли вы все на три буквы», убил всех своих «детей» и выпилился сам. А одним из его детей был X.

Статическая типизация поймала бы такое при компиляции. А так оно в продакшене месяцами работало, пока не рвануло.

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

Начни, наконец, писать большие проекты. Тебя ждёт столько интересного...

Куда уж больше.

Вместо значения пришёл null

Все время неожиданно приходят. Для того слабая типизация и существует, и работает она чудесно, а самое страшное, что приходилось делать v || ''.

special-k ★★★★
()
Ответ на: комментарий от special-k

Все время неожиданно приходят.

О чём и речь.

Для того слабая типизация и существует

Для того сильная статическая типизация и существует.

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

NullPointerException

Что это такое вообще, где на это посмотреть?) В js такого нет, в ruby нет, в пистоне нет... Просто прекрати писать на чем ты там пишешь.

special-k ★★★★
()
Ответ на: комментарий от special-k

Что это такое вообще, где на это посмотреть?) В js такого нет, в ruby нет, в пистоне нет...

Хватит врать, а?

def f(x):
  return(x.a)
class c:
  def __init__(self):
    self.a = 1
x = c()
f(x) # returns 1
f(None) # blows in your face

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

что так проще

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

Овчинка выделки не стоит.

special-k ★★★★
()
Ответ на: комментарий от special-k

Т.е. уйма абстрактных классов, интерфейсы, перегруженные методы, утечки памяти

Ты когда несёшь чушь, хоть как-то её сообразуй с реальностью, а?

Ну ладно абстрактные классы и интерфейсы, ладно перегруженные методы (хотя это сразу говорит о том, что ничего, кроме ООП, ты в глаза не видел), но при чём тут утечки памяти? Уж garbage collector-ы всяко работают везде.

Ну и «уйма» — у тебя будет та же уйма, только в виде документации/комментариев, причём отстающая от реальности.

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

уйма, только в виде документации/комментариев

Не перегруженный всякой ерундой код прекрасно читается и понимается. И знаешь, я никогда не видел комментариев вроде «ни в коем случае не подставляйте 'это' в параметры» - не бывает такого. NoMethodError - это не та ошибка, которая всех одолевает.

special-k ★★★★
()
Ответ на: комментарий от special-k

Не перегруженный всякой ерундой код прекрасно читается и понимается.

Статически типизированный код прекрасно читается и понимается.

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

Да, там пишут «подставляйте только 'это'». То есть, та же типизация, только не проверяемая автоматически.

Miguel ★★★★★
()
Ответ на: комментарий от Miguel

Статически типизированный код прекрасно читается и понимается.

Триобернутый шаблонами c++ читаются особенно прекрасно, ага.

подставляйте только 'это'

Нет. Вообще нет. Очень любят в js подставлять hash с чем угодно. Главное чтобы все было выразительно и ясно.

special-k ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.