Последние комментарии

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


Sat

Как я понимаю на примеры разработок никто не смотрит? Тогда можно в общих чертах понять какая именно направленность в Вашей компании?
То есть под какие платформы и с чем работать программисту? Ведь очевидно что программист 1С Бухгалтерии (в России) крайне отличается от программиста embedded систем.


dbat

The new IPad! - новый Айпэд!


Михаил Фленов

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


Sat

А что подразумевается под словом 'хороший программист'. Ведь понятие 'хороший' у разных руководителей разное. Для кого то хороший означает быстрыйНеСмотряНаКод, у кого то СтройныйНеСмотряНаВремя, КомментированыйЧтобыПонятноБылоНачальнику, МногострочныйПотомучтоОплатаПострочная и вообще много критериев по этому вопросу.

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


Sat

В добавок, что бы унять разногласия:

Трансля́тор — программа или техническое средство, выполняющее преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой

Интерпретатор - Вид транслятора, осуществляющего пооператорную (покомандную) обработку и выполнение исходной программы или запроса (в отличие от компилятора, транслирующего всю программу без её выполнения).

Компиляция — трансляция программы на язык, близкий к машинному, и последующая её компоновка.

Как видим отличие компилятора от интерпретатора в ВЫПОЛНЕНИИ транслированого кода!
Хотя это не совсем точно, повторюсь, для компилятора - операционная система является исполнителем кода. Но многие это по просту опускают из видимости! :-)


Михаил Фленов

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


Knops

Неужели так в Канаде сложно с программистами?


Sat

Денис да я понимаю разницу. Что бы у вас в будущем не возникало ко мне вопросов на эту тему, скажу (похвалюсь) я написал 4 компилятора, один из которых уровня Delphi (и это не FreePascal) и кучу интерпретаторов. А уж собрания различных компиляторов и интерпретаторов всех мыслимых и не мыслимых языков у меня наверное самоё большое чем у кого либо.

Так вот и компилятор это интерпретатор для целевой платформы. Средой исполнения для файлов компилятора является операционная система.

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

Денис, я понимаю, что ваше представление о интерпретаторах сугубо объективно, вероятно всего основано на устаревших понятиях о интерпретируемом коде.
Я ещё раз повторюсь. Современные интерпретаторы совсем не то, что и ранние интерпретаторы которые выполняли по строкам какой либо сценарий.
Да они остались. Классическая консоль в Windows, Bash в Linux да много чего, но времена не стоят на месте. Посмотрите на Java, PHP, C# все это по сути интерпретаторы для своей VM(виртуальной машины) которая как раз и исполняет (ИНТЕРПРЕТИРУЕТ) созданный код.

Слово ТРАНСЛЯТОР - универсальное название ПРЕОБРАЗОВАТЕЛЯ которым можно назвать все что угодно, главное правильно выразить свою мысль.
Например ТРАНСЛЯТОРОМ раньше модно было называть радио рупор на столбе. А интерпретатор ETH Pascal виртуальная машина которого исполняла P-code (к стати прообраз современных byte-code, IL и т.д.) всегда назывался интерпретатором, хотя как можно убедится транслировала и исполняла код одновременно.

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


Михаил Фленов

Обожаю такие дискуссии, когда идет культурное общение без грубостей, без унижений. Всегда бы так. Приятно читать.


Денис

Уважаемый n, вы написали: " Только PHP не компилируется ни во что в своем истенном обличии"

А во что-то, ещё кроме как машинного кода он разве может компилироваться? Дальше: "Чтобы выполнить программу на PHP ее не нужно компилировать или преобразовывать в промежуточный IL код, достаточно скормить интерпретатору. " Насколько мне известно так было до версии 4 и 5. Но в пятой точно php-код транслируется в IL, а дальше работа интерпретатора
который этот IL-код исполняет по командам на "лету", т.е. без предварительной компиляции. Еще дальше: "Но так как PHP - это язык, для него легко написать и компилятор, который будет создавать промежуточный код и сохранять его в файле." Здесь путаница, на выходе у компилятора, всегда машинный код, а если на выходе какой-то другой язык, например тот же IL, то это транслятор а не компилятор!


О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне