Как передаваемый программируют навыки между языками?

Вы можете уничтожить value и переименовать его в date.

render() {
    const { date: { value: date } } = this.state

    return <Date date={date} />
}

var state = { date: { value: { from: '1/1/2019', to: '4/1/2019' } } },
    { date: { value: date } } = state;

console.log(date);

10
задан Joel Coehoorn 28 December 2011 в 20:30
поделиться

16 ответов

Хороший программист может легко переключаться между языками.

Однако, выгода в том, что хороший программист, по определению, - это тот, кто уже обладает навыками использования различных языков. Если вы нанимаете кого-то, кто имеет опыт работы только в одной языковой и программной среде (компилятор, фреймворк и т. Д.), Он может не иметь необходимого опыта, особенно если учесть, что «стек» PHP несколько отличается от .NET.

Однако если вы нанимаете кого-то, кто знает Java, PHP и имеет некоторый опыт работы с Python, то это означает, что у них уже есть хороший опыт программирования, и гораздо более вероятно, что их навыки легко перенесутся в ASP.NET.

Это мое мнение.

14
ответ дан 3 December 2019 в 13:19
поделиться

Неправильный вопрос, я думаю. Это как передаваемые навыки программирования между фреймворками. Разработчик asp classic и jsp developer, вероятно, может читать и писать код друг друга. То же самое для Java Server Faces и ASP.NET. Как я знаю из моего нынешнего проекта, разработчику winforms на C # может быть сложно перенести свои таланты в проект C # ASP.NET. Синтаксис - такая небольшая часть основных языков программирования (я использую странные шарики, такие как Prolog и F #, которые имеют принципиально иной подход к коду, чем семейство языковых фигурных скобок)

1
ответ дан 3 December 2019 в 13:19
поделиться

Одна из вещей, которая формирует мое отношение к любой технологии (/ платформа / продукт / язык), заключается в том, насколько специфичен опыт обучения. У меня есть коллеги, которые очень хорошо разбираются в MS Access и за эти годы создали огромное количество индивидуальных бизнес-систем (различного качества). Но, несмотря на это, они почти ничего не знают о sql. Если бы они потратили три месяца на обслуживание небольшого сайта PHP / MySQL, они были бы в гораздо лучшем положении (с точки зрения навыков), чтобы хотя бы начать изучать системы Informix / Sybase / SQL Server / etc. 1252 За пределами определенной точки стоимость обучения новым технологиям, вероятно, снижается. Переключение между PHP / VBscript мне показалось довольно раздражающим при изучении обоих, так как простые изменения в соглашениях (например, использование «;») ) добавил, что немного лишнего раздражения не нужно в учебном процессе. Совсем недавно мне пришлось переключаться между C #, Perl и VBScript, и это просто не проблема - вы следуете правилам каждой грамматики, не задумываясь об этом.

1
ответ дан 3 December 2019 в 13:19
поделиться

PHP и ASP.NET могут быть схожими, но PHP и C # очень разные, и если вы используете C # 3, тогда существует очень острая кривая обучения. Если программист может просто выполнять интерфейсную работу, тогда это не будет иметь большого значения.

Теперь, насколько передаваемое знание между языками различно, так как это зависит от того, является ли язык того же типа программирования (структурным, функциональным). , объектно-ориентированный). Например, великий программист на С не может передавать свои знания в ООП или ФП, поскольку подход к проектированию очень отличается.

1
ответ дан 3 December 2019 в 13:19
поделиться

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

1
ответ дан 3 December 2019 в 13:19
поделиться

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

1
ответ дан 3 December 2019 в 13:19
поделиться

Я бы сказал, что, в целом, хороший программист PHP означает, что у вас есть очень хорошие шансы стать хорошим программистом ASP.NET, если вы потратите на это время. Умение программировать - это талант, а изучение языка - это в основном обучение. Сказав это, я считаю, что это гораздо больше, чем знакомство с синтаксисом языка. Хороший программист должен хорошо разбираться в доступных фреймворках, библиотеках, языковых методах и т. Д. Программист ASP может написать код PHP после прочтения хорошей книги по PHP. Но для того, чтобы стать хорошим программистом на PHP, необходимо гораздо более глубокое понимание, и это понимание происходит в основном из опыта.

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

2
ответ дан 3 December 2019 в 13:19
поделиться

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

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

Даже для тех, кто знает ASP.NET задом наперед, при первом переключении на PHP все равно будет существенное Фаза "WTF", которую они должны преодолеть, во время которой они создадут довольно неприятный код. Это может быть рабочий код, но он не будет легко обслуживаемым и, вероятно, не очень хорошо интегрируется с остальной частью проекта.

2
ответ дан 3 December 2019 в 13:19
поделиться

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

Если вы ожидаете, что кто-то придет и будет немедленно продуктивным на высоком уровне, то вы действительно хотите кого-то с большим опытом работы с языком, который вы будете использовать. Всегда лучше иметь хотя бы одного человека, который будет руководить проектом, который действительно понимает язык и как его использовать, не «идя вразрез» в своем выборе дизайна. Точно так же, если кандидат имеет сильные языковые предпочтения, и это тот тип, который всегда будет оплакивать ваш выбор языков (говоря о том, как его любимая игра могла бы сделать все лучше), тогда он не будет вашим лучшим выбором для этой роли.

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

4
ответ дан 3 December 2019 в 13:19
поделиться

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

Но, независимо от того, насколько вы хороши, новый язык / парадигма / мышление требует некоторого привыкания. Если бы я нанимал разработчика Java. и у меня был разработчик c ++, который был «умным и добился успеха», у меня была бы очень веская причина нанять его на кого-то с опытом работы с Java, учитывая, что «знакомый» и «продуктивный» - это две разные вещи.

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

3
ответ дан 3 December 2019 в 13:19
поделиться

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

2
ответ дан 3 December 2019 в 13:19
поделиться

Хитрая часть этих языков высокого уровня - это «библиотека классов», для того, чтобы использовать «встроенные» функции, которые вы можете использовать, требуется некоторое время. (Вы не хотите изобретать велосипед).

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

И если вы сводите это к набору, это вопрос о том, как долго вы планируете удерживать программиста? Его нанимают для быстрой работы, скажем, 2-3 месяца, или вы нанимаете нового программиста, которого хотите оставить на 3+ года?

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

/ Йохан

4
ответ дан 3 December 2019 в 13:19
поделиться

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

4
ответ дан 3 December 2019 в 13:19
поделиться

Absolutely. General programming skills are the core value for any developer. In fact, communication skills may even outweigh everything else. A good programmer is a good communicator.

Programming should be about communicating as code will spend more time being looked at and being modified than it will take to write it the first time around, so it better communicate what it is supposed to be doing.

A programmer that has a solid foundation in programming fundamentals should be able to come up to speed reasonably quickly in almost any language.

7
ответ дан 3 December 2019 в 13:19
поделиться

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

7
ответ дан 3 December 2019 в 13:19
поделиться

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

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

Языки высокого уровня, такие как sql или python, могут показаться очень легкими для понимания, но люди с многолетним опытом работы понимают хитрости, недокументированные функции и недостатки, которые не очевидны на первый взгляд.

0
ответ дан 3 December 2019 в 13:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: