ФлеймФорумОбщее

О юных дарованиях (3 стр)

Страницы: 1 2 3 4 59 Следующая »
#30
12:35, 19 янв 2010

>Склонность к написанию своего кода более, чем использованию чужого
Он серьёзно взялся за борьбу с вредной привычкой курить и решил сбросить лишний вес уже завтра !

#31
12:41, 19 янв 2010

Aglaranir
> Когда я слышу слова "выучить новый фреймворк", я под этим понимаю прежде всего:
> 1)прочитать книгу на эту тему толшиной не менее 400 страниц
> 2)написать пару программ средней сложности с использованием этой технологии.
> Причем своих, а не примеров из книги.
какой смысл читать книгу, чтобы перейти с Qt на wxWidgets? общие принципы везде примерно одни и те же, различия между ними преимущественно в реализации. Детали реализации всегда можно на лету смотреть в мане.

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

#32
13:36, 19 янв 2010

Aglaranir
> И вот другой пример: человек три года занимался разработкой десктоп-приложений на Qt. Его уволили, он приходит в другую фирму а там ему говорят, что у них используется wxWidgets. Хотя область деятельности та же. Как ему быть? Искать дальше, или в срочном порядке переучиваться?
Невелика беда - покопается несколько дней в доках, а остальное потом изучит по ходу дела.

#33
13:40, 19 янв 2010

BUzer
> Невелика беда - покопается несколько дней в доках, а остальное потом изучит по
> ходу дела.
+1. Если программист, три года занимавшийся разработкой на Qt за неделю-две не может освоить wxWidgets, чтобы клепать формы на ней, то грош ему цена как программисту. Более того - освоить wxWidgets за две недели можно даже не имея 3-летнего опыта работы с кутями. ))

#34
14:13, 19 янв 2010

У меня в компании работал человек, у него в резюме на линкедине было написано столько, что прям ппц, бог программирования! Но работал он сам посредственно, и когда ему сказали что увольняют, он поперся в контору на собеседование. Писали мы тогда на C#(хотя он писал процедуры под db2, но в резюме указал что знает C# средне), так вот в тестах по C# он не ответил ни на один вопрос.
То, что написано в резюме еще ничего не значит. Даже если его вызывают на собеседование, обычно такой человек поверхностно изучает перед собеседование, но если копнуть глубже он тупо сливает.

#35
14:14, 19 янв 2010

Aglaranir
> Лично я думаю, что в 18 лет абсолютное большинство людей даже не знают кем
> хотят стать
Я определился с этим вопросом еще лет в 14-15, уже мне 20, не сбился с желаемого.

Отнесение к языкам программирования HTML, CSS уже говорит о некомпетентности товарища, как WEB-разработчика. На счет ЯП... Скорее всего да, базовые знания есть. Но всегда надо просить предьявить проекты, сделанные работы. Ну и да, при личном разговоре все выяснить - чем занимался, что умеешь. И примернить например тот прием который применяли со мной - во время собеседования поспрашивать "Слушай, у меня вот такая проблема, не знаю как сделать\чем воспользоваться" - если он даст ответ по теме или хотя-бы приблизительно и уверенно, то значит в курсах.

#36
14:14, 19 янв 2010

когда в юношестве помнится начал подрабатывать фрилансером.... за два года СТОЛЬКО нового изучил из совершенно разных областей, что если у резюмируемого было нечто вроде того - совершенно нормально. просто по работе надо было. каждый проект - разное. обкладывался учебниками и - вперёд. и как про языки лингвистические говорилось "каждый следующий учится вдвое быстрее". в итоге за пару лет - пара десятков языков/технологий/апи/итп. собственно в резюме ничего сверъестественного не вижу.

#37
14:16, 19 янв 2010

=A=L=X=
Но ИМХО отнесение HTML к языку программирования - это эпохальный фейл

#38
14:27, 19 янв 2010

aloha_hawaii
> > поделитесь секретом, как у вас это получается?
> самый самый по любым вопросам на этом форуме - NightmareZ. думаю лучше спросить у него.

Вызывали? :-D

Ответ на этот вопрос прост:

Изображение

#39
14:38, 19 янв 2010

=A=L=X=
> в итоге за пару лет - пара десятков языков/технологий/апи/итп. собственно в резюме ничего сверъестественного не вижу.
Нереально столько помнить на хорошем уровне. А знать базовые конструкции - толку то....

#40
15:10, 19 янв 2010

Drazd
> Но ИМХО отнесение HTML к языку программирования - это эпохальный фейл

Фейл конечно же, но не эпохальный. Путаница между понятиями "язык программирования" и "языки/технологии используемые в процессе программирования" - вещь частая. Раньше особо часто спотыкались в этом месте на SQL-е.

NightmareZ
> Нереально столько помнить на хорошем уровне. А знать базовые конструкции -
> толку то....

На хорошем - конечно нет. Программист как пианист - месяц не будешь практиковать и гибкость пальцев и моторика уже не та.
Я помню в итоге такого "стрессового" изучения самых разных технологий начал пользовать такой приём: выписывал при изучении новой вещи её значимые отличия в коспект. И вот что характерно - чем больше изучал, тем меньше становились конспекты. Java по сравнению с C++ - одно. Perl по сравнению с C/C++ - другое. C# по сравнению с Java - уже буквально пара страниц. PHP по сравнению с Perl - уже тоже пара страниц! =) А так как основы проектирования похожи - то фигня это всё становится. Но это уже реально дело опыта опыта и еще раз опыта.

#41
15:19, 19 янв 2010

=A=L=X=
> PHP по сравнению с Perl - уже тоже пара страниц!
Ололо, Perl с PHP пара страниц.

#42
15:35, 19 янв 2010

1. Возможные способы квотинга:
<? ... ?>
<?php ... ?>
<script language="php"> ... </script> - для плохих редакторов
<% ... %> - как в ASP
<%= ... %> - как в ASP

2. Комментарии 4-х типов:
// как в C++
/* как в C */
# как в Unix shell

3. Типы данных:

integer - (аналог INT32) записываются точно как в C/C++

float - (аналог DOUBLE64)

string - квотинг как в Perl (" или '). Спецсимволы обычные для C/C++. Конкатенация строк через точку, а не +.

array - и массив и хеш в одном. Без явно указанного индекса добавляет значение в конец себя ($a[] = "hello"). count( $a ) - размер. Ф-ии next(), prev() или each() могуть быть использованы для итерирования. Многомерные массивы пишут индексы как в C ($a[1][2]). Ф-я array() может быть использована как конструктор массивов/хешей.

object - доступ к полям объекта через $o->field; $o->func();

4. Явное преобразование типов делается либо как в C (int)$dbl. Строки в числа переводятся без предупреждений, если начало строки никак не может быть трактовано как число, то возвращается 0.

5. Переменные не типизированы (variant), в начале всегда имеют знак $. Чувствительны к регистру. Имеют ссылочную природу (т.е. все они являются ссылками). Явная операция взятия ссылки: $a = & $b;

6. По умолчанию в функциях ВСЕ переменные (даже не описанные) являются локальными, поэтому чтобы поиметь доступ к глобальным надо писать global $a, $b, ...; Глобальные переменные так же всегда доступны через хеш $GLOBALS["имя_переменной"]. Поддерживаются статические переменные в функциях: static $a, $b, ...;

7. Переменные переменных: если к имени переменной добавить два $, т.е.: $$a, то ссылаться она будет на переменную имеющую имя совпадающую со значением $a.

8. Когда при вычислении строка типа "$a..." имеются неясности с трактовкой текста нужно использовать фигурные скобки: "$a ${$a}" или "$a[3][bar]" против "{$a[3][bar]}".

9. Параметры CGI запросов (GET или POST) автоматически добавляются как глобальные переменные со своими именами. Так же они доступные через хеши $HTTP_POST_VARS и $HTTP_GET_VARS. Могут быть массивами. Если параметр типа IMG, то координаты клика идут как две переменные sub_x и sub_y (?).

10. Кукисы устанавливаются через SetCookie() ДО первого вывода (чтобы попасть в заголовок). Входящие куки так же автоматически добавляются в глобальные переменные.

11. Для переменных среды ОС справедливо то же - добавляются как глобальные переменные. Следует помнить, что точки во всех входящих переменных заменяются на подчёркивание.

12. Узнать тип переменной можно через gettype(), is_long(), is_double(), is_string(), is_array(), and is_object(). Установить - через settype().

13. Константы определяются посредством функции define().

14. Арифметико-логические операции содраны с перла почти на 100%. Выражение есть FALSE, если оно Пусто, 0, "", "0" или массив/объект не содержащий элементов.

15. Операторы:
Строки складываются через точку: $a . $b
Операторы сравнения дополнены сравнениями "идиентичности": $a !== $b и $a === $b. Идиентичность значит что переменные равны и имеют один и тот же тип.

16. Контроль ошибок: если перед выражением стоит @, то любые сообщения об ошибках при выполнении его будут подавлены.

17. Как и в перле окруженные в `` команды будут исполнены в командной строке ОС, а их вывод будет возвращен как значение.

18. foreach радует (остальное всё как в Perl):
                                      вот это:
reset ($arr);
while (list($key, $value) = each ($arr)) {
    echo "Key: $key; Value: $value
\n";
}
                                      аналогично этому:
foreach ($arr as $key => $value) {
    echo "Key: $key; Value: $value
\n";
}

19. break может иметь int параметр - на сколько вложений выходить

20. require(), include(), require_once() и include_once() включают в текст программы текст другого модуля в этом месте. require включает только один раз за любое количество проходов программы, include - каждый раз когда программа проходит через это место. Оканчивающиеся на _once() будут подключены только один раз в цепочках включений, чтобы избежать ошибок "круговых включений".

21. Функции
function foo ($arg_1, $arg_2, ..., $arg_n) {
    echo "Example function.\n";
    return $retval;
};
Чтобы передать параметр по ссылке его можно либо в списке параметров предварить &, либо при передаче в функцию сделать то же самое. Аргументы "по умолчанию" - как в C++. Через функции func_num_args(), func_get_arg() и func_get_args() можно юзать переменное кол-во аргументов. Чтобы из функции вернуть ссылку надо и в return предварять возвращаемое значение & и при вызове функции перед ней ставить тоже &.

22. Перемнные функции: если после имени переменной поставить скобки на манер вызова функции, то вызовется функция с именем значения этой переменной.

23. Классы:

Типичная запись класса:

class Box extends Shape // множественного наследования нет
{
    var $field; // член данных

    funcion Box() // конструктор имеет имя класса
    { ... };

    function add_item( $arg ) // метод класса
    { ...; return ...; }
}

В объектах доступен $this.

24. Ссылки. Важная тема. На самом деле все переменные являются ссылками, поэтому нельзя сослаться на имя переменной - можно только на данные на которые она указывает. Т.е. вся система имен переменных работает как файлы в юниксах - все имена есть лишь ссылки на реальные данные и невозможно сослаться на само имя.

#43
15:43, 19 янв 2010

Это всё что я выделил из PHP чтобы на нём программить по сравнению с Perl.

#44
16:06, 19 янв 2010

Предлагаю выпустить книгу "1000 и один совет от найтмареза как добиться успеха в жизни"

Страницы: 1 2 3 4 59 Следующая »
ФлеймФорумОбщее

Тема в архиве.