Какой язык программирования выбрать?
Подробнее
Какой язык программирования выбрать? HumePC Python PHP Java Ruby .NET (C#) Javascript C++ C++ C++ c++ Java .NET (C#) Python Ruby Java .NET (C#) Objective-c 1C Java C++ forum.wotmista.ru
программирование,1С,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Еще на тему
1. Очень многие нанимают специалиста с низкой квалификацией/эникейщика такое регулярно происходит в конторах небольшого размера.
2. Разработчики всего что перечислено выше являются представителями бэк офиса, они обычно не общаются с юзерами на прямую. !сникам это приходится делать. Все прогеры мягко говоря люди специфические, просто одних вы видите, других нет
3. Коробочное решение 1с - это коробочное решение. Оно никак не связано с квалификацией прогера работающего в организации. Есть примеры где 1с управляла станком по вырезке пластиковых конструкций. Поэтому если что то не нравится в типовой конфигурации не стоит это проецировать на специалиста который работает с этой конфигурацией
4. 1с может во все во что может винда, установленные компоненты
5. ЗП 1сника меньше или такая же как у любого проф разработчика перечисленного выше исключая только ПХП
6. Для того чтобы быть проф разработчиком 1с нужно знать основы бух учета, основы экономики предприятия, основы планирования и бюджетирования, документооборот по сферам деятельности предприятий.
Поэтому сравнивать прогера 1с с прогером С++ все равно что сравнивать ложку и зубную щетку - цели абсолютно разные. Есть хреновые щетки и хреновые ложки, но сказать, что все ложки хреновые а щетки офигенные нельзя
Насчет людей уточню - нам попадались такие 1с-ники, которые по английски уходили, когда их ждал начальник предприятия на совещание. Иногда люди делая и проверяю все на файловой версии базы, удивлялись почему это все не работает на субд-шной или как-то так, дело давно было. Обещают прийти сегодня, приходят только на следующий день. Я конечно понимаю, зарплата низкая и все такое, но во-первых - должна же быть какая-то ответственность по договору, во-вторых, как говорили в армии, кто на что учился то так и пашет, один плац метет, другой документы в штабе печатает. Но давайте не разводить полемику.
Оценивать по принципу "хуле он ничего не делает же" не имеет смысла. Нет такого "жадничает" и "много хотят". Если выхлоп по итогам сделки выше минимальной маржинальности, значит работаем, если нет, то не работаем, а если выхлоп неизвестен, но все равно работаем, то риски очевидно ваши. Если это не сделка, а поддержка, то ее цена для вас это цена простоя при сбое, помноженная на количество сбоев за срок поддержки. Для нормального бизнеса 1 чп всегда столько же или дороже, чем месячная зп даже вышесреднего программиста/саппортера.
Код открытый у конфигураций (в основном) пожалуйста делай с ним что хочешь.
>90-е годы
Шутка хорошая.
например у нас скуд написан в 1с - я рыдаю(.
Ощемта я не уверен, что было лучше сделать 1с-у, но проблемы с семеркой были 1-е (и главное) это совместный доступ, после 20 юзера иногда тупо все ложилось об "ожидание блокировки журнала", а второе – отстуствие динамичности в форме. Если бы оставить все как есть, но добавить sql и формы, получился бы снова гениальный продукт. Какие-то ребята помнится переписывали базовые объекты (регистры, би и периодический) на sql и продлевали жизнь дорогому легаси, имея свои профиты, но фактически это все было на грани законности. Мы например просто закрыли бизнес из-за восьмерки, большинство ушло в несвязанные области. Не то что бы оно дохуя приносило, но было как-то обидно, что-ли.
Вменяемый стшник имхо отруливает любой интеллисенс в разы.
Тупые потому что 1С простая как валенок, порог вхождения в профессию - ниже плинтуса.
А жадные, потому что получают дофига.
Выглядит это примерно так:
http://cs622722.vk.me/v622722055/9863/YiR8SMXyWDY.jpg
Что на чем писать - каждый выбирает по удобству. Мне, например, энтерпрайз удобнее писать на C#, но и под андройд я на нем же пишу. Потому что Xamarin.
Данная инфографика не претендует на истину в последней инстанции. Да и автор её с 1С-никами сталкивался только как с франчами.
А cpp – это сумрачный набор костылей и решений, который и развиваться-то начал нормально начиная с 11 стандарта. Его единственное преимущество (хотя оно дохуя важное) – это скорость. Хотелось бы чтобы уже окончательно люди перестали мучить стюардессу с плюсами до c++11.
Абсолютно все ААА-класса игры это С++. А всякие там шарманки можно и на юнити наковырять.
Юнити безусловно запредельно удобен но если ты хочешь выжать все что можно из железа и показать при этом охуеннейшею картинку то только С++.
То же касается и андроида. До тех пор пока ты клепаешь трехкнопочные приложения с двумя фрагментами. Изипизи - мути на ксемарине. Но как только ты захочешь чтобы твоя программа охватывала как можно больший объем рынка - добро пожаловать в нативные модули и яву.
А в целом инфографика не так уж и далека от истины
Как я уже говорил ниже:
Тут вопрос в том что именно понимать под игрой. Двигло или конечный продукт.
Я говорю за двигло, потому что разработчику мало интересно что из этого наклепают артисты, главное - дать инструментарий.
Хотя, по сравнению с тем же Cpp Builder'ом -- дубоват. Паскаль, хуле.
Если она такая прожорливая, как ее в твой телефон запихали? или в кредитку, или в ключ от домофона.
В телефон запихивали кастрированную яву (ME).
В кредитке и ключе от домофона явы вообще нет.
свободная опера - это без толку простаивающая опера. а многие алгоритмы могут работать быстрее просто задействовав больше оперы. так нафига им экономить оперу в ущерб производительности, а рядом она пусть простаивает?
андроид тоже ява, и ни разу не кастрированная, там другая стандартная библиотека, без того, что на трубе не нужно и с тем, что нужно.
в кредитке нет явы - ну ок, на нет и суда нет :) но нет и доверия к критике после подобных заявлений :)
Для других приложений, которые не в курсе, что это ява "взяла с запасом".
> многие алгоритмы могут работать быстрее просто задействовав больше оперы
Ровно тот же самый гуй, написанный на C++/Qt работает быстрее и занимает порой в десять раз меньше оперативки.
> андроид тоже ява, и ни разу не кастрированная
com.android.systemui сжирает со старта 61 метр. Примитивная панелька с иконками и строкой состояния. Панель настроек - еще 30 метров. Виртуальная клавиатура - 22 метра. Звонилка - еще 30 метров. Это мы даже не добрались до пользовательских приложений. Неудивительно, что в современные смартфоны пихают уже по 4 гига оперативки.
> ну ок, на нет и суда нет
Да что уж там, срывай покровы. Я очень хочу услышать сперва про яву в копеечном RFID-чипе для домофона, а потом про яву в обычной кредитке с магнитной полосой.
это имхо уже не проблема явы, и вообще не техническая проблема, а что-то психологическое :)
Валяй, можешь выбрать модель "домофона" даже с NFC-картой типа Mifare 4k, хотя такие используются уже для секурного доступа в производственные и складские помещения, а не для входа в подъезды. Расскажи мне, где в NFC Ява.
В общем если и использовать кюшку то только в академических целях, или для того чтобы по быстрому наклепать оконную помойку. Да и то, зачем клепать оконную помойку на сях если есть шарпы всякие там и явы?
Единственный раз когда я видел кютэ в продакшене это тулза для мониторинга логов (0.0000001% от общего кода)
Старая, но показательная.
http://habrahabr.ru/post/46293/
Хотя кто я такой, чтобы судить.
Я просто надеялся что меня убедят в том что кюшка хороша и стоит подумать о том чтобы ей пользоваться. Но нет, не сегодня
Игры теоретически можно, да, но я не встречал ни одной серьезной игры на Qt (даже простенькой 2D). Если есть - дай ссылку на стим/аппстор/гугл плей (только на популярную игру, а не домашнюю поделку).
WebKit, БД, сеть - это исключительно способ наполнения формочек, или ты встречал Qt на сервере?
Я недавно пытался понять как получить в пятом Qt список файлов на FTP. Тоже думал что уж такой примитив там есть.
Ruby не только для web используется. Игры пишут не только на C++, почему Enterprise только на Java и C#? O_O
Какой кретин делал эту подборку?
автора "кретином" по крайней мере не вежливо, а в вашем случае глупо и по-кретински.
В данном же случае автор делает как бы исследование.
Потому если бы автор опубликовал картинку, на которой указано, что красный цвет это зеленый, то я назову его кретином, несмотря на то, что "картинка личное мнение автора" и "называть чужое мнение глупым не вежливо.
Плюс цитаты:
Кстати, Веб тоже можно писать на С++ (через CGI). — ХомячийКороль
Python - вебка? А как же 3d для игр? Майка и питон - это ж сиамские близнецы. — trivir
Учитесь учиться.
И любое мнение субъективно, пока его автор не прилагает ссылку на подробные записи исследований.
В ней указаны наиболее удобные и приспособленные для данного направления языки. А так на любом тьюринг полном языке можно написать все что угодно, вопрос лишь в затратах и в том, нужно ли это(учитывая все плюсы и минусы).
вопрос в целесообразности.
Игры сейчас часто C#.
А вообще да, только голый С, только хардкор.
На самом деле язык как язык, не лучше и не хуже других, даром что на русском.
А вот сами программы, которые на нем написаны - это отдельная тема для разговора.
Все дело в том, что в 1с принципиально нет возможности метапрограммирования, а значит нельзя создать абстрактный фреймворк, который позволил бы эффективно решать произвольный класс задач. Например для яваскрипта в браузере есть как минимум jQuery, который с помощью замыканий и прототипной магии предоставляет удобный доступ к DOM. Как максимум – AngularJS, например. На любом современном языке мы можем создать модель данных, которая была бы реакционной и привязывалась к форме с помощью абстрактного контроллера, который знает только протокол формы и протокол модели, но в 1с мы обречены лишь на глПересчет() по Поле1ПриИзменении(). Для того, чтобы сортировать таблицу по вложенному полю, нужно вынуть его в колонку, сортировать, удалить колонку. Нельзя реализовать даже простейшую клиентскую агрегацию, и 1сник просто вынужден засовывать огромные части клиентской логики в эти больные запросы или ебаться с временными таблицами. Я уже не говорю об уходе от лакончиного интерфейса семерки к COM-ублюдку восьмерки (видимо в core team пришла "новая школа"), который стал настолько медленным, что делать на клиенте что-то, кроме форменной логики и вызова запросов стало бессмысленно. Все в конечном итоге упирается в одну простую проблему – невозможность передать функцию в качестве аргумента или просто сохранить как значение. Пусть даже не замыкание, похуй, контекст рядом можно было бы положить. Как результат, даже простые конфигурации представляют собой процедурных монстров с тоннами общих модулей, в которых наполовину ctrl-c ctrl-v делается каждый раз в 500-1000 строк то, что можно было сделать в 20-30, со всеми вытекающими. Этого примитивного ограничения не существует практически во всех языках, кроме разве что gwbasic'а и к-н древнего паскаля 80-х годов. И все это на фоне более чем скудной стандартной библиотеки, в которой нет вообще никакого намека на вещи, привычные для обычного программиста, например нет М(1,2,3), которая бы создавала массив из трех элементов, и человеку приходится каждый раз писать "новый массив; м.добавить(...) ...", не говоря уже о не такой примитивщине. А самопальные наколеночные разработки некому ни поддерживать, ни сопровождать на местах. То есть как языковая, так и модульная культура у 1сников не то что ноль, она просто под ebanym dniwem, откуда никто уже не постучит.
Получаю при этом свои 20к оклада, что в моем городе не сказать, что плохо.
Тут, как и в любой фирме, все зависит от организации труда и начальства.
http://www.indeed.com/q-Lua-Programmer-jobs.html
Наниматели:
Sony Online Entertainment
Ubisoft
Amazon
Wargaming
Gameloft
...
- Shipped 2+ published titles as Gameplay Programmer for PS4, PS3, Xbox One, 360, PC, or MacOS
- Bachelor's degree in software engineering, computer science, or equivalent
- Experienced in developing and implementing key gameplay systems
- Strong C/C++ development and optimization skills
- Strong knowledge of scripting languages (Lua, Python, Perl)
- Work well with designers and artists to implement the vision of the game
- Strong verbal and written communication skills
Lua где-то на дне
Есть чо по брейнфаку?
Тут вопрос в том что именно понимать под игрой. Двигло или конечный продукт.
Я говорю за двигло, потому что разработчику мало интересно что из этого наклепают артисты, главное - дать инструментарий.
А на скриптовых языках можно и макаку научить кодить - для того они и придуманны.
И в чём проблема? Биндишь обёрточку над gapi, и над этим тонким хостом пишешь всё остальное на луа.
>Тут вопрос в том что именно понимать под игрой. Двигло или конечный продукт.
А что, CryEngine можно считать за игру?
Или факт того, что игровая логика писана не на с++ автоматом делает эту логику не частью игры?
>А на скриптовых языках можно и макаку научить кодить - для того они и придуманны.
Макаки будут писать что-то уровня досявых батников.
Они и на жабаскрипте тоже буйню пишут.
Тут стандартное писькомерство кто важней: программист разрабатывающий двигло или артист/программист который обвешивает это двигло логикой.
Просто я так понимаю ты именно скриптовый программист поэтому пытаешся показать всем вокруг что ты тоже важен, а может быть даже и важнее чем двигловый программист.
Игрострой это взаимодействие сотни разных программистов. Есть программисты для тулз, есть сетевые программисты есть разработчики шейдеров и фронт/бэк-эндов. Пытаться сказать кто из них важней и кто именно программирует игру это как минимум глупо.
Ваще не попал.
> Пытаться сказать кто из них важней
Я сказал только, что Lua достаточно значимый в геймдеве, чтобы быть упомянутым наряду с c++. В отличие от почти всего остального, дорисованного топикстартером в картинке пониже.
Кстати, очень немногие игровые проекты разрабатывают свои графические, звуковые и сетевые движки. И, честно говоря, лучше бы они этого не делали.
Вы оба правы. Чё тогда может расскажете кто чем занимется?
В свободное время "индюшатю" на c++ и Lua, с упором на Lua.
Самолёты это настоящий ад с гиганской кодовой базой древней чем гавно мамонта.
С луа тоже связывался года 3 назад - писал небольшую игрушку только чтобы изучить что это за зверь такой.
В основном в качестве хобби сейчас двигаюсь в сторону сборки собственного сетевого фреймворка.
Основные языки - C, Java, Perl, AS3. С остальными плотно не знаком.
А то глядя на это можно вдруг подумать, что игрострой это какое-то супер элитное занятие, а все остальные просто пыль под копытами.
плюсы няши, на них можно зафгачить что то низкоуровневое
пиши ок код и будет тебе счастье, вне зависимости от языка.
я вот как то переписывал индуский код, была плюсовая часть и была на руби, можно все испаганить)
Но больше всего мне жалко нашего сборщика, ведь ему приходится собирать наши коды в единую программу, как ты думаешь, какого ему принимать от одной половины отдела код на с++ или ruby, а от другой половины, которая у нас зовётся идиотами, принимать все коды на шарпее?)
.net тоже няша, но на нем нельзя сделать много прекрасных низкоуровневых решений, но для серверов и гуишной части вполне ок, второй смешивать разные языки в проекте - извращение.
Далее: как у вас вообще получилось, что одна часть команды не согласовано с другой частью пишет разный код? Может стоило послать нахуй эту компанию? тыжпрограммист, легко найдешь другую контору.
И в конце концов, у вас есть специально обученый человек который мержит чейнджи?:D
Почему никто не сказал ABAP?
мне интересно чтобы научиться на нем писать надо в центре пентаграммы совершить жертвоприношение? ну вырезать у юзера сердце например.
Мне вообще такие выражения кажутся странными. Если умеешь программировать, то можно научиться программировать на любом (кроме Malbolge).
Нет, Rust скорее для тех, кто страдает от того, что C++ не может позволить себе изменить, так как поломается обратная совместимость.
Мне вот понравилась возможность явного указания времени жизни объекта в ссылке и концепция заимствования.
И дефолтная константность.
И перемещени вместо копирования.
Я почекал раст и он судя пр всему проигрывает по скорости, при том не слабенько так. Сомневаюсь что он найдет свой путь к играм.
И да, перемещение ввели же в С++11
Вообще факт появления раста чем то напоминает этот комикс:
Насчет скорости, одинаковый код на C, C++ и Rust должен компилироваться в примерно одинаковый исполняемый код.
Код вычисления абсолютно идентичен.
Миллион итераци
Rust (optimize lvl 2): 7494 ms
С (g++ -O3): 9192 ms
Опачки
Я по этой хрени смотрел, тут раст и правда с расчетом пи справляется, сжирает прадва памяти в пять раз больше. А вот если остальные тесты глянуть то там или чуть быстрее или в 10 раз медленнее.
А насчет перемещения то если ты объект на стеке создаешь, то стоимость конструктора примерно нихуя - просто esp смещается не на N а на N + M байт.
А про код то то же самое можно и про шарп сказать. Если шарп код скомпировать в готовый бинарник, а не JIT-код то тоже теоретически то на то и выходит, но блииин, чувак.
Как-то это всё зря, я считаю.
вначале сложно очень, потом хорошо так мозги на место ставит и уже архитектуру процессора и все внутренности OS - начинаешь понимать. Порой даже при написании на ЯП высокого уровня типо Delphi , C++ - помогают ассемблерные вставки. Я было дело в школе вирусы писал на AMS - простые но полиморфные xor, neg, org , inc, dec, and, add и тп процедурами использующимися для шифровки каждого нового зверька при заражении и декриптор тоже случайным образом брался а так же ключи шифровки. Так что dr web не мог поймать - ну там ещё антиэвристика была небольшая против трассировки и эмуляции )
Красивый язык, красивый код )
Если устраиваться в фирму кодером то лучше C++ и JAVA так как всё чаще будут требоваться специалисты для написания под Android.
Если школьнику подзаработать хочется то python - парсерсы, краулеры, инет боты писать. Ну и PHP хоть всё плюются - но так же CMS допиливать , мелкий софт всякий на 300-400 строк синонимайзеры, плагины WP корректировать вебмастерам так как идеи у многих идут быстрее чем реализации их в паблики и свои 25-40$ в день честных можно зарабатывать.