Редактировать:
Как вы управляете отдельными задачами при работе на нескольких языках
В повседневной обработке задач, с какими разными языками программирования вы работаете?
- Делаете ли вы умственный сдвиг при работе над каждым языком?
- Вы расставляете приоритеты и держите каждую задачу отдельно для каждого языка?
- Кодируете ли вы поэтапно, основываясь на ходе выполнения каждой задачи, плавно переключаясь между языками / IDE / Средой
- Применяете ли вы один и тот же стиль / правила кодирования на всех языках (не синтаксис)?
Связанный:
Нормально ли для программиста работать над несколькими проектами одновременно?
.equals
в JavaScript. По крайней мере, я всегда ошибаюсь, вместо того, чтобы использовать==
в Java.Ответы:
Сегодня я написал Java, Python, C ++ и SQL (если это важно). И я был на работе менее 2 часов.
Если вы делаете это регулярно, то умственный сдвиг становится незначительным. Это не имеет ничего общего с многозадачностью. Это все равно, что ходить некоторое время, потом водить машину, водить велосипед, плавать. Нет проблем, потому что это последовательные вещи.
Независимо от этого, цель состоит в том, чтобы выполнить одну задачу, прежде чем перейти к следующей. Я склонен определять задачи с точки зрения конкретной функциональности, исправления или тому подобного. Часто эта задача выполняется только с одним языком, но может потребоваться несколько из них. Например, при работе с JNI вы, как правило, вносите изменения как в Java, так и в нативную сторону параллельно.
Некоторые ответы:
Важно иметь возможность плавного переключения между IDE, редакторами, средами. Обычно я держу их все время открытыми.
Если это интерфейс, по которому говорят два языка, то да - имена переменных и тому подобное должны быть похожими. В противном случае я пытаюсь применить типичный стиль кодирования этого языка.
источник
Здесь формируется паттерн:
Так что для меня это: JavaScript, HTML и CSS, C #, Transact-SQL и Windows Powershell.
Применяете ли вы один и тот же стиль / правила кодирования на всех языках (не синтаксис)?
Нет, я занимаюсь программированием в соответствии с соглашением языка. Простой пример:
Использование визуально различных соглашений о кодировании помогает мне сделать умственный сдвиг между языками. И наоборот, если мой код выглядел одинаково на каждом языке, я буду делать синтаксические ошибки, забывая, на каком языке я кодирую.
источник
Как указывает SK-logic, ментальный сдвиг не должен быть проблемой, если вы используете хорошо выбранные предметно-ориентированные языки. Но часто вы не можете выбрать язык, поэтому иногда требуется время, чтобы переключиться. По моему опыту, сложность заключается скорее в переключении синтаксиса, чем в переключении стиля программирования. Единственное раздражающее изменение, которое я всегда испытываю, - это изменение стиля комментария : если я просто открываю файл, чтобы быстро изменить строку кода, это часто происходит:
источник
В моей последней работе: Java, C ++, C #, JavaScript и VBScript.
Но, к счастью, все вышеперечисленное было в совершенно разных контекстах (и в нескольких продуктах) - поэтому, когда вы достаточно хорошо знали каждую кодовую базу, мысленное переключение на разные контексты было на самом деле довольно простым и логичным.
По правде говоря, меня больше всего беспокоило, что проблемы со службой поддержки меня прерывали. Внутреннее переключение на задачу на другом языке само по себе никогда не было проблемой.
источник
Я работаю с 2 языками: c # и python.
Я использую их обоих в одном проекте, но, очевидно, для разных задач.
Когда я работаю над задачей, я работаю над этой задачей, пока она не будет полностью завершена или пока я не смогу больше сосредоточиться на ней. Это означает, что если мне придется переключаться между языками, то когнитивный диссонанс практически отсутствует, поскольку я уже перестал думать на любом языке, когда я закончу с последним заданием.
По общему признанию, я сделаю небольшой перерыв, когда выйду из задачи, которая, вероятно, очень помогает.
источник
Как можно меньше. Обычно он включает в себя: 1. Python, плюс 2. Шаблоны HTML, 3. HTML + CSS и иногда 4. Javascript. Переход с Python на JS определенно требует умственного сдвига, в том числе потому, что мне нужно использовать разные инструменты.
Я добавляю HTML + CSS отдельно от шаблонов HTML, даже если эти языки сами по себе не являются (или могут зависеть от вашей религии), потому что это также требует умственного сдвига и использования других инструментов, хотя и не так плохо, как переключение на Javascript. Работа с HTML + CSS с точки зрения дизайна, чтобы страница выглядела как макет требует, отличается от создания HTML-шаблонов. Но это больше ортогонально к Python, чем к Javascript, что означает, что мне нужно переключить свой настрой на другое. :)
источник
Ежедневно пользуюсь:
Я также иногда использую Python, Java и XML (это считается?). Моя работа заключается в редактировании различных веб-сайтов, которые могут быть построены на любом веб-языке (даже один раз был на Perl) и использовать совершенно разные парадигмы / шаблоны (процедурный, MVC, OOP и т. Д.).
Чтобы ответить на вопрос - я в основном использую Notepad ++ в качестве моей IDE для первых 5 перечисленных, затем Visual Studio для Asp.Net.
Это может быть затруднительным переключением между каждым языком - запоминанием того, нужны ли вам точки с запятой в конце строк, или есть ли у петель скобки или нет. Переключение с VBScript на JScript является наихудшим вариантом для этого - оба файла заканчиваются на .asp и на первый взгляд выглядят довольно схожими, поэтому требуется время, чтобы понять, почему я получаю ошибки.
источник
На данный момент я пишу на Ruby, PHP, Java, C и JavaScript и буду писать не менее 1 часа каждый из них каждый день. Основная проблема в действительности заключается в том, чтобы найти время, поскольку они все для несвязанных проектов.
Ментальный Сдвиг
Мой стиль работы такой, что я люблю работать в течение длительного времени. К сожалению, это означает, что если у меня есть только одна вещь, когда я сталкиваюсь с ментальным блоком с куском кода, мне понадобится много времени, чтобы преодолеть это. Я тоже не нахожу перерыв. Имея другие проекты и, в частности, другие языки, переключаться на то, когда я застреваю, значит, ко времени, когда я возвращаюсь к исходному языку, у меня сразу есть решение.
Поэтому, да, есть психическое изменение, и я думаю, что это делает меня намного более продуктивным.
Приоритизация задач
Я использую диспетчер задач (gTasks для Android) и у меня есть отдельный список задач для каждого проекта. Если проекту требуется несколько языков, я не разделяю их. Обычно это происходит потому, что они будут сильно связаны каким-то образом. Например, JavaScript и Ruby для работы с AJAX. Если языки технически относятся к одному и тому же проекту, но проект настолько велик, что они практически не связаны, то я, скорее всего, буду считать их отдельными проектами.
Как правило, мой приоритет - «какой список имеет больше задач», но я всегда буду переключаться, если застряну в проблеме.
Соглашения о кодировании
Это немного смеси:
Кроме того: самая большая проблема для меня - это переключение между языками стилей. Очень трудно гоняться, когда кодируешь SASS вместе с Ruby, а затем приходится переключаться обратно на CSS для всего остального. В меньшей степени у меня та же проблема с HAML / HTML и JSON / XML.
источник
Я пишу приложения для ISP, также существует культура «делай то, что тебе удобно», часто написанная многими сетевыми инженерами, которые увлекаются программированием. Мне приходится еженедельно иметь дело с программами, которые достаточно хорошо написаны, по-настоящему ужасны. С чем я часто буду сталкиваться и работать над ...
В компании есть и другие языки (.net, VB, Phyton, Rails и т. Д.), Но мне еще не приходилось с ними работать ... пока.
Редактировать, для редактирования ...
Вы должны мысленно переключаться, когда работаете между языками. Чаще всего я теряю синтаксис. Я держу коллекцию справочников наготове. Я обнаружу, что потребуется около получаса, чтобы вернуться к мышлению другого языка. Чем более тупой синтаксис для языка, тем дольше смещение. Я считаю, что переход от использования Java к выполнению Perl, вероятно, займет больше всего времени, если я некоторое время не касался Perl. Чем больше вы это делаете, тем легче становится.
источник
Я часто использую шесть или более языков в одном проекте. Большинство из них обычно относятся только к этому проекту.
Ментальный сдвиг требуется только в том случае, если вы используете язык, который не подходит для какой-либо задачи. В противном случае естественно использовать наилучшую посадку. Различные наборы языков используются для разных этапов проекта.
источник
Я часто использую C (встроенный), C ++ (рабочий стол), Python, Matlab и VHDL (своего рода язык аппаратного программирования), часто все в один и тот же день. В моем окружении подобная языковая ловкость необходима по моему мнению.
Я часто не могу получить все, что мне нужно для конкретного проекта, эффективно на одном языке. Например, как встроенный C, так и VHDL являются довольно низкоуровневыми, поэтому я часто использую Python для анализа их результатов (или даже для генерации кода).
Быстрое переключение между ними не является проблемой через некоторое время, это все равно что переключаться с молотка на отвертку - подходящий инструмент для работы.
источник
Это действительно зависит от того, как определяется работа ... Я использую C # для разработки приложений Microsoft Surface каждый день. Я также использую Java каждый день для своих приложений для Android. Но я стараюсь учиться сам и начал использовать R, Ruby и Objective-C. Иногда мне также нужно немного SQL, и если вы включите языки сценариев и другие языки в свой вопрос, то также JavaScipt, SPARQL и BeanShell.
Применяете ли вы один и тот же стиль / правила кодирования на всех языках (не синтаксис)?
Я пытаюсь следовать соглашениям о кодировании каждого языка, но особенно между Java и C # У меня есть некоторые трудности из-за фигурных скобок и именования методов в верхнем регистре в C #:
противы
источник
Я создаю веб-приложения. Так что в настоящее время его:
Редакторы: Sublime Text (по выбору), Visual Studio 2010 (другого приемлемого выбора, когда дело доходит до ASP.Net)
источник
На своей работе я использую Java, C, Python, Django и небольшие кусочки PHP. Я также работал над очень маленьким проектом на C ++ от Microsoft.
Я не использую их все каждый день, но иногда я использую их все без проблем. В обычный день я использую только один или два. Программирование, которое я делаю дома, обычно включает в себя работу с технологиями, отличными от тех, которые я использую на работе, таких как Qt или Ruby on Rails.
источник