ivanok_v2 написал: и скорее всего VBA уйдет в историю Пора садится на JS
что я и сделал N лет назад
Давайте я покапитаню как обычно: Мир движется в сторону облачных решений (сервисов), которые работают на любом устройстве (компьютер, планшет, телефон, IoT). Если приложение браузерное и сложнее чем "hello world", скорее всего, оно использует JavaScript.
Цитата
ZVI написал: А также асинхронность работы JS, в отличие от легко поддающейся контролю последовательной работе кода VBA. То есть, если один код JS меняет значения ячеек, то другому (асинхронному) коду, использующему эти изменения, нужно как-то искусственно дождаться завершения этих изменений.
событийно-ориентированное программирование называется (event-driven programming)
Цитата
ZVI написал: Логика кодирования из-за этого может значительно отличаться от привычной VBA-логики
и да и нет. Сотря о чем идет речь. Если ставить обработчи какого-либо события, то это практически идентично
Цитата
ZVI написал: для корректного сравнения все же в JS нужно
понимать, как работают JIT-компиляторы и пишутся бенчмарки. Нюансов там более чем достаточно.
p.s.: зашел на форму ответить на сообщение в личку, а тут это : )
Андрей VG написал: Какая разница обработаются данные за 0,1 секунду или 0,001?
помимо уже сказанного ранее, я вижу ситуацию так: - во-первых, данные будут обработаны на строное клиента, что выгодно с точки зрения экономии на вычислительных ресурсах - во-вторых, это выгодно произодителям железа. Хотите, быстрых вычислений, обновляте железо (пользователи)
Цитата
bedvit написал: Udf для excel на JavaScript поддерживает ассинхронные функции и многопоточность?
асинхронность поддерживат конечно же с многопоточностью не все так однозначно. Официально, весь код исполняется в одном потоке, но на практике существуют разные средства распараллеливания, хоть теже WebWorkers (в браузере). Что касается исполнения JS на сервере (Node.js), то он создавался с прицелом на кооперативную многозадачность. Чем она отличается от исполнения в отделных процессах/потоках, я здесь расписывать не буду. Кому интересно, сам погуглит =)
Цитата
Максим Зеленский написал: Все эти интерпретаторы и пр. низкоуровневое IoT пишется не на JS и VBA ведь?
в 2016 году я выступал на одной из местых конференций, где отмечал, что JS из узкоспециализированного ЯП эволюционировал в язык общего назначения. Словом, да пишется на JS тоже. Первая ссылка, что попалась под руку.
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
кто-то сказал JavaScript? Слышал о таком. Правда, он начал надоедать за 5+ лет коммерческого программирования =) А в целом нравится, да. Что на нем можно писать не только в Excel, которого у меня нет вот уже как ... эм... года три. И вообще я сейчас начинаю понимать/уважать авторские права, соглашения и стараюсь использовать соответствующий софт\контент и/или приобретать оный. Чего и всем желаю
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
Представители открытого сообщества считают, что проблемы Мюнхена и Linux связаны не с альтернативным ПО, а плохим управлением IT-инфраструктурой.
Цитата
Однако в итоге было принято решение вернуться на Windows. Кроме того, часть сотрудников администрации имели проблемы с привыканием к LiMux, что сказывалось на скорости их работы. Вернуться на Windows город планирует к 2020 году.
по первому пункту я уже писал выше по второму, вангую, к 2020 привыкнут, и перехода не состоится
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
The_Prist написал: А уж потребность в автоматизации будет еще долго, я так полагаю
Потребность в автоматизации будет всегда. Какой инструмент (язык) для этого будет применятся, вопрос другой. Лично я пессимистичен в отношении VBA.
Цитата
dsb75 написал: Поэтому VBA скорее всего умрёт вместе с Офисом.
Умереть вряд ли. Скорее пользователя загонят в среду, где VBA нет (Linux, Browser), а электронные таблицы есть. Я в том числе про Microsoft Office 365.
В чем же заключались неудобства, которые так портили жизнь сотрудникам муниципалитета? Прочитав оригинальную статью, можно выделить следующие моменты: 1. Бесплатное ПО, к сожалению, заметно отстает по функциональности от ПО Microsoft. 2. Для нормальной работы почты на смартфонах пришлось установить отдельный почтовый сервер (Exchange?). 3. Отсутствует ПО для нормальной интегрированной работы с почтой, контактами и встречами. Те, у кого календарь в Outlook от и до расписан встречами, а бронирование переговорной и автоматический подбор времени встречи для привлечения максимума участников — ежедневная процедура, поймут это требование. 4. Обмен информацией с гражданами и другими муниципалитетами затруднен, поскольку последние использует ПО Microsoft. (Например, Вы отправляете форму, а в ответ приходит абракадабра. Муниципалитет работает для граждан, а не для софтверной религии.) 5. Ожидали что просто «Linux дешевле» за счет отсутствия платы за лицензии, а на практике он оказался весьма дорогим решением из-за необходимости самостоятельной разработки функционала (Присутствующего в коммерческих продуктах из «коробки»)
Cкажу в целом, а потом по пунктам. На мой взгляд, они допустими практически все ошибки, кот. можно было допустить. 1. Это смотря с какой стороны посмотреть. Грубо говоря, можно найти бесплатное ПО под Linux, которого нет под Windows. 2. Не могу ничего сказать. Я счастливый необладатель смартфона 3. Thunderbird+Lightning на мой взгляд достойная замена. Да, не такая изощеренная, как Outlook, но почта+контакты+встречи+календарь там есть. Оно интегрировано боее чем. Разве что автобронирования я там не видел. Говорю только о том, чем я пользовался. 4. Что мешало установить необходимый стандарт (формат) обмена, который поддерживает сободный софт? У нас же (РФ) сейчас именно так сделано (или я ошибаюсь?), только наоборот. Стандарт -- проприетарные форматы Microsoft Office (doc,xls,ppt и т.п). А если у меня, как у пользователя, нет Microsoft Office, что мне делать? Его купить, чтобы отправить документ? Так получается? Очень "справедливое" решение. Я даже не говорю о том, что сейчас есть бесплатный OnlyOffice, который четь ли на 100% совместим Microsoft Office и кросплаформен (насколько мне изветсно). Ну, а на крайний случай Office 365 из облака. 5. Лично мне не понятно, о чем они вообще думали. Явно не о пользователях. И, судя по анамнезу, узкое место это исключительно Microsoft Office + Outlook. Надо было думать заранее. Или они рассчитывали на то, что волшебным образом их пользователи научаться работать со свободным ПО, сами найдут нужные инструменты/альтернативы? Я уже не говорю о том, что внедрять надо было постепенно. Сперва отдел: поставили софт, собрали фидбек, провели работу над ошибками; потом пробное ведомство, затем город и т.д. Проще все свалить на свободное ПО. Это не мы планировать (внедрять) не умеем, это оно такое плохое. И все на своих местах. При той же зарплате или даже с бонусами. Удобно ведь.
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
The_Prist написал: предварительный отбор в большинстве компаний сейчас в любом случае по корочкам и "стажу".
Вроде как речь шла о высшем образовании, откуда тут стаж взялся О корочках. Я бы различал вузовские корочки и "корочки" курсов повышения квалификаци, сертификаты и т.п. Я веду речь исключительно о первом.
Цитата
Мотя написал: В больших корпорациях может быть даже HR-департамент.
Я знаю, что такое HR департамент, т.к. работал в крупной международной компании. Некоторое время я даже "обучал" студентов, проходящих внутренние курсы этой компании. Совсем немного. В общих чертах могу сформулировать свое видение того, по какому принципу эти компании набирают специалистов: 1. ищут высококвалифицированных (Senior+) специалистов с опытом работы и, желательно, имеющих n сертификатов 2. если по п.1 никого нет, то ищут специалистов уровнем ниже (Middle) (сектификаты опционально) 3. если по п.2 никогод нет, то ищу специалистов уровнем ниже (Junior) (сектификаты опционально) 4. если не по одному из 3-х пунктов не находится людей, смотрят в сторону студентов, т.к. их нужно дополнительно учить (а это накладные расходы) и еще не ясно что из них получится. И поверьте, там не принципиально какая у них корочка) Как попал: мне предложили работу глядя на мое "портфолио". Т.е. не я работодателя искал, а он меня. --- Также собеседовался в другую международную компанию (был спортивный интерес). Там HR-ы выкатили тестовое задание, кот. нужно было решить за отведенное время и только после этого был шанс пообщаться с тех. специалистами. Это тестовое я завалил. Вместо 30 мин. потратил 1,5 часа. Не уложился
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
Мотя написал: Про "верхнее" образование: при наличии такового обязательно следует учитывать рейтинг вуза, в котором образование было получено.
Работодатель, зачастую, не смотрит на вуз, его рейтинг и ваш диплом. Он оценивает по фактическим заниниям (собеседование + тестовое задание) и/или вашему портфолиго (которое должно говорить за вас). Или у вас по другому было?)
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
pharmaprofi написал: Попадались статьи (на Хабре?) - что по факту Linux оказывается дороже Windows.
В чем это выражается? Я, например, вижу, что лицензия для Windows 10 Домашняя стоит 8700 руб. Линуксы же преимущественно бесплатные. А теперь к стоимости лицензии на ОС прибавьте стоимость лицензии на офис. Далее, антивирус и прочее. Отсюда мой вопрос: в чем выражается "дешевле"?
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
могу ответить: стоит заниматься тем, что вам нравиться, приносит удовольствие. Вместе с тем, желательно, чтобы это "что-то" приносило не только удовольствие, но и деньги.
Я бы ориентировался на среднесрочную и долгосрочную перспективы. Иными словами, искал пересечение множеств "нравится вам" и "будет востребовано на рынке труда через X лет в течении Y лет". Сюда, как мне кажется, я бы отнес Data Scientist (пример вакансии яндекса). Это будет востребовано просто потому, что сегодня в мире генерируется огромное кол-во данных. Их будет еще больше с распространением интернета вещей (IoT). Люди, которые смогу извлекать из этих данных необходимую информацию будут на вес золота. Эти (см. цитату ниже) способности будут очень кстати.
Цитата
Bema написал: Дополнительный вводные: учился в физмат классе, легко давалась алгебра, геометрия, высшая математика.
И да и нет. Сейчас многие выбиают NoSQL решения (в том числе и я). Они, зачастую, лучше масштабируются, проще в освоении, разработке. --- Про программирование. Не складывайте все яйца в одну корзину. Например, если вы разрабатываете исключительно под Windows, это значит, что вы ограничиваете свою применимость, как универсального разработчика, знающего структуры данных, алгоритмы и т.п. Сегодня заказчики хотят кросс-платформенные приложения и платить за разработку как можно меньше (этого всегда хотят =) Смотрите в сторону кросс-платформенных языков программирования и/или инструментов, позволяющих обеспечить это требование. ---
Цитата
Мотя написал: Я - за систему базовых знаний. Их можно получить только в вузе
не согласен. Сегодня уже существуют замечательные интернет-ресурсы, позволяющие получать качественное образование (как правило, даже лучше вузовского, сужу по себе). Было бы желание.
Зачем поднимать? Потому, что мне интересно мнение умных людей этого форума. Свое я и так знаю) Например, может кто-то уже слышал или даже испытал на себе силу бескомпромисного и беспощадного импортозамещения
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
Стыдно признаться, но я уже почти полтора года для работы и повседневных нужд использую Linux (Ubuntu 16.04). Счастлив бесконечно: многие проблемы связанные с ОС Windows ушли в прошлое, появились новые Однако, вцелом, оцениваю данный переход исключительно положительно и дальнейший свой юзерский/програмисстский опыт ближайшего будущего вижу исключительно с Linux.
Обсудить я хотел следующее: у нас по стране шагает импортозамещение. В частности, пользователей гос. сектора переводят на Linux:
В связи с чем, я предполагаю, что для обычного пользователя в среднесрочной перспективе фокус от "владения базовыми навыками работы в эксель" сместится в сторону "владения базовыми навыками работы с табличными процессорами" (на один уровень абстракции выше).
Оглядываясь в прошлое, я пытался проанализировать и понять, почему в РФ настолько широкое распространение получили ОС семейства Windows. На мой взгляд это обусловлено следующими причинами:
лоббирование интересов Microsoft на гос. уровне начиная с 90-х гг XX века
из п.1 вытекает --> преобладание ОС этого семейства в гос. секторе
из п.2 вытекает --> использование в учебных заведениях
из п.1 и п.2 --> распространение на домашние ПК
Нетрудно заметить, что вся текущая ситуация вытекает из п.1. Сейчас, в связи с импортозамещением, как мне кажется, в п.1 вместо Windows будет значится GosLinux / ALT Linux, а далее все пойдет по каскаду и это вопрос времени.
The_Prist пишет: Саша, а мог бы перед тем как делать резкие наезды и восклики "обоснуй" погуглить :-)
это не наезд. Это быстрый способ задать вопрос: "Почему ты считаешь, что VBA не является объектно ориентированным языком программирования?"
Цитата
The_Prist пишет: Если кто-то мне сейчас покажет реализацию полиморфизма в VBA - признаю полностью и безоговорочно его принадлежность к языкам ООП
Иван, уже привел пример. Проблема в том, что это встроенные (объекты приложения) объекты. У них, как мне видится, и наследование есть и полиморфизм =)
Цитата
The_Prist пишет: Да хотя бы нормальное человечачье наследование покажите.
А с чего ты решил, что будет "нормальное человеческое наследование" в языке, который больше не развивается? =) Есть Implements. Но это не совсем то. Я бы смотрел в сторону писать под эксель на других ЯП. VBA официально похоронен Microsoft насколько мне известно.
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
На мой взгляд оптимально прятать код по спойлер нежели ограничивать экран в 200px. Давайте тогда всем мониторы 200х200 раздадим. Лично мне это жутко не удобно. Не люблю ресурсы, где код ограничен чем-то, кроме спойлера.
anvg пишет: ...может всё же объявлять переменные явно? Зачем учить начинающих не очень хорошему стилю?
а еще On Error Resume Next и еще Convert_HTML_Range_To_Text подразумевает, что html будет преобразован в текст. Непонятно почему <br /> остаются в неизменном виде и еще =) Convert_HTML_Range_To_Text лично я бы понимал как "собрать все данные в "кучу" и преобразовать в текст", а не для каждой ячейки раскладывать и еще =) в vba функции пишутся так ConvertHTMLRangeToText (согласно наименованию встроенных функций) (code style) и еще =) ...
лично я бы написал простую изолированную функцию вида HTMLToText() без ячеек, кот. можно было бы использовать в разных приложениях, а не только в excel впрочем, "лично я" в данный момент ничего бы не стал писать
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
Владимир, есть разница между "помочь сделать" и "сделать за кого то"? Зачем было идти в ВУЗ на специальность M, если нет желания самостоятельно разбираться, учиться? Пусь хотя бы гуглить научится, если что-то не понимает. Или найдет форумы по C++, на кот. новички могут задавать свои вопросы.
Цитата
Владимир пишет: циклически сдвигает элементы массива вправо на k позиций
Johny, я так понял: для каждого элемента массива битовый сдвиг вправо на k позиций.
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
Кто не ходил в википедию, могу первый абзац сюда запостить:
Цитата
Node или Node.js — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код) превращающая JavaScript из узко специализированного языка в язык общего назначения. Node.js добавляет возможность JavaScript взаимодействовать с устройствами ввода/вывода через свой API (написанном на C++), подключать другие внешние библиотеки, написанные на разных языках, обеспечивая вызовы к ним из JavaScript кода. Node.js применяется преимущественно на сервере, выполняя роль веб-сервера, но есть возможность разрабатывать на Node.js и десктопные оконные приложения (при помощи node-webkit и AppJS для Linux, Windows и MacOS) и даже программировать микроконтроллеры (например, tessel и espruino). В основе Node.js лежит событийно-ориентированное и асинхронное (или реактивное) программирование снеблокирующим вводом/выводом.
---
Цитата
Саша, это НЕ callback'и.... Уж этого от тебя НЕ ожидал!
Читай внимательней мой пост.
Чебурашка стал символом олимпийских игр. А чего достиг ты? Тишина - самый громкий звук
[QUOTE]Сегодня прочитал вот эту статью на Хабре про JavaScript. Очень интересно.[/QUOTE] Любопытства ради прочитал пару абзацев. Такое ощущение, что школьник писал =)
Я думаю про каждый ЯП такая статья найдется. Другое дело, кем она написана и чем подкреплена. Впрочем, несмотря на это каждый яп находит свое применение.