Как технарю из России стать программером в США за 150К

User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как технарю из России стать программером в США за 150К

Post by crypto5 »

ddv wrote:
crypto5 wrote:
ddv wrote:
nightmare2 wrote:Видете как легко сделать ошибку.
В C# таких проблем нет.
В C# нет таких проблем потому что там нет таких возможностей. Вот например жить тоже сложно, но это не значит что нужно решать эту проблему путем изкоренения жизни.
Каких возможностей? Вернуть масив строк из функции?
Возможностей сделать массив указателей на функцию.
Я на Си Шарп не программирую, но вроде в создании массива делегатов никаких подводных камней быть не должно ...
In vino Veritas!
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

crypto5 wrote:Я на Си Шарп не программирую, но вроде в создании массива делегатов никаких подводных камней быть не должно ...
Не факт...навскидку нашел http://www.gamedev.net/topic/505797-c-array-of-events/
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Как технарю из России стать программером в США за 150К

Post by nightmare2 »

ddv wrote:
nightmare2 wrote:Видете как легко сделать ошибку.
В C# таких проблем нет.
В C# нет таких проблем потому что там нет таких возможностей. Вот например жить тоже сложно, но это не значит что нужно решать эту проблему путем изкоренения жизни.
Но улучшать условия жизни - разве это плохо?
Когда-то люди жили в пещерах и умирали от чумы.
Теперь у нас есть дома, машины, компьютеры.
Когда-то программы писали ученые, теперь все больше и больше обычных людей может это делать.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Как технарю из России стать программером в США за 150К

Post by nightmare2 »

vopros wrote:языки с указателями нужны для того чтобы писать языки без указателей :umnik1:
Очень даже может быть. :-)
А также всякие операционки и прочие штуки критичные к ресурсам.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Как технарю из России стать программером в США за 150К

Post by nightmare2 »

crypto5 wrote:
ddv wrote:
crypto5 wrote:
ddv wrote:
nightmare2 wrote:Видете как легко сделать ошибку.
В C# таких проблем нет.
В C# нет таких проблем потому что там нет таких возможностей. Вот например жить тоже сложно, но это не значит что нужно решать эту проблему путем изкоренения жизни.
Каких возможностей? Вернуть масив строк из функции?
Возможностей сделать массив указателей на функцию.
Я на Си Шарп не программирую, но вроде в создании массива делегатов никаких подводных камней быть не должно ...
Вероятно - это будет незначительная потеря в эффетивности.
Делегату нельзя присвоить абы что, язык проверяет типы.
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как технарю из России стать программером в США за 150К

Post by crypto5 »

nightmare2 wrote:
crypto5 wrote:
ddv wrote:
crypto5 wrote:
ddv wrote: В C# нет таких проблем потому что там нет таких возможностей. Вот например жить тоже сложно, но это не значит что нужно решать эту проблему путем изкоренения жизни.
Каких возможностей? Вернуть масив строк из функции?
Возможностей сделать массив указателей на функцию.
Я на Си Шарп не программирую, но вроде в создании массива делегатов никаких подводных камней быть не должно ...
Вероятно - это будет незначительная потеря в эффетивности.
Делегату нельзя присвоить абы что, язык проверяет типы.
Без взгляда под капот конечно судить тяжело, но вполне может оказаться что такие проверки делаются только во время компиляции.
In vino Veritas!
User avatar
hogzie
Уже с Приветом
Posts: 1166
Joined: 13 Jul 2010 18:13
Location: Bay Area

Re: Как технарю из России стать программером в США за 150К

Post by hogzie »

nightmare2 wrote: Сложные конструкции с указателями трудночитаемы.
Необходимы дополнительные усилия чтобы сделать программу более менее понятной.
Это, того... говорите за себя только. Ok? :)
nightmare2
Уже с Приветом
Posts: 7187
Joined: 31 Jan 2005 15:06
Location: GA

Re: Как технарю из России стать программером в США за 150К

Post by nightmare2 »

hogzie wrote:
nightmare2 wrote: Сложные конструкции с указателями трудночитаемы.
Необходимы дополнительные усилия чтобы сделать программу более менее понятной.
Это, того... говорите за себя только. Ok? :)
Как Вам будет угодно. :hat:
Vaiyo A-O, A Home Va Ya Ray, Vaiyo A-Rah, Jerhume Brunnen G!
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

crypto5 wrote:Я на Си Шарп не программирую, но вроде в создании массива делегатов никаких подводных камней быть не должно ...
ok. эмуляция указателя на функцию тут есть....но всех возможностей указателей все равно нет.
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как технарю из России стать программером в США за 150К

Post by crypto5 »

ddv wrote:
crypto5 wrote:Я на Си Шарп не программирую, но вроде в создании массива делегатов никаких подводных камней быть не должно ...
ok. эмуляция указателя на функцию тут есть....но всех возможностей указателей все равно нет.
Тут вопрос, так ли они нужны С# программистам, эти все возможности.
In vino Veritas!
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

crypto5 wrote:Тут вопрос, так ли они нужны С# программистам, эти все возможности.
Нужны например для свободной манипуляции данными. Попробуйте на c# разобрать бинарный пакет состоящий из плавающего количества различных структур...
User avatar
crypto5
Уже с Приветом
Posts: 4637
Joined: 24 Oct 2009 01:38
Location: Chicago ;-) -> SFBA!

Re: Как технарю из России стать программером в США за 150К

Post by crypto5 »

ddv wrote:
crypto5 wrote:Тут вопрос, так ли они нужны С# программистам, эти все возможности.
Нужны например для свободной манипуляции данными. Попробуйте на c# разобрать бинарный пакет состоящий из плавающего количества различных структур...
Работать вполне себе можно, хотя согласен что возникнут провалы в производительности, ну так драйвера сетевых карт писать это и не ниша С#-a.
In vino Veritas!
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

crypto5 wrote:Работать вполне себе можно, хотя согласен что возникнут провалы в производительности, ну так драйвера сетевых карт писать это и не ниша С#-a.
Можно...но через одно место. А манипуляция данными нужна не только в драйверах.
Конечно если писать только ASP.NET или GUI приложения, то этого и не нужно.
User avatar
Brazen
Уже с Приветом
Posts: 7412
Joined: 03 Apr 2004 09:35
Location: 1st Rock From The Moon

Re: Как технарю из России стать программером в США за 150К

Post by Brazen »

ddv wrote:
nightmare2 wrote: char *flump ( ) [3] /* функция, возвращающая указатель на 3-элементный массив типа char */
char *flimp[3] ( ) /* 3-элементный массив указателей на функцию, которая возвращает тип char */
У меня лично мозги тормозят когда я такое читаю в коде.
Полагаю, что я не в одиночестве.
Указатель на массив типа char - это char* . Поэтому char *flump ( ) [3] - это функция, возвращающая 3-элементный массив указателей на char. А в языке c/c++ не предусмотренны функции возвращающие массив.
char *flimp[3] ( ) - тоже неверное написание. Нужно писать char (*flimp[3]) ( ).
Тае что если мозги тормозят на этом - значит это не ваше.
Нет такого типа char*. Насчет кипения мозгов: Бочков и Субботин все очень просто и понятно изложили (я вообще предпочитаю их компактную книжку Кернигану с Ритчи):
При интерпретации составных описателей сначала рассматриваются квадратные скобки и круглые скобки, расположенные справа от идентификатора. Квадратные и круглые скобки имеют одинаковый приоритет. Они интерпретируются слева направо. После них справа налево рассматриваются звездочки, расположенные слева от идентификатора. Спецификация типа рассматривается на последнем шаге после того, как описатель уже полностью проинтерпретирован. Для изменения действующего по умолчанию порядка интерпретации описателя можно использовать внутри него круглые скобки.
Смотрим примеры:

char *flump()[3] -- flump - это
char *flump()[3] -- функция
char *flump()[3] -- возвращающая трехэлементный массив
char *flump()[3] -- указателей
char *flump()[3] -- на char

Насчет char *flimp[3] ( ) Бочков и Субботин отметили:
С одним идентификатором можно образовать множество различных комбинаций признаков типа массив, указатель или функция. Некоторые комбинации недопустимы. Например, массив не может содержать в качестве элементов функции, а функция не может возвращать массив или функцию.
Действительно, чтобы был массив указателей на функцию, нужно поставить скобки, как сказал ddv:

flimp -- flimp - это
flimp[3] -- трехэлементный массив
*flimp[3] -- указателей
(*flimp[3])() -- на функцию, здесь меняем порядок интерпретации с помощью скобок
char (*flimp[3])() -- возвращающую char

Читайте это: http://progbook.ru/c/180-bochkov_yazyk_ ... ya_si.html Все предложения по делу. Ни одного выкинуть нельзя. Очень хорошее, концентрированное, при этом грамотное (технически и с точки зрения русского языка) изложение.
ddv
Уже с Приветом
Posts: 481
Joined: 04 Jul 2005 17:07
Location: Москва->Staten Island NY

Re: Как технарю из России стать программером в США за 150К

Post by ddv »

Brazen wrote:char *flump()[3] -- возвращающая трехэлементный массив
А теперь попробуйте реально написать такую функцию и посмотреть что вам на это скажет компилятор.

VC++: error C2090
GNU GCC: error ... declared as function returning an array

Return to “Работа и Карьера в IT”