Я сам самоучка, потому что в мое время в глубинке компьютеров почти не было, а образование в этой сфере получить было практически невозможно. У меня не было возможности учится на программиста, поэтому вынужден был все изучать по книгам и на своих ошибках.
Можно ли научится самостоятельно хорошо программировать? Да, можно. Желательно всё же высшее образование и с хорошим математическим уклоном, но даже и без него можно. А нужно?
Представляете себе, вы приходите к врачу, а там врач самоучка. Он учился по книгам, а теперь решил практиковаться без поддержки наставника и будет совершать первые ошибки на вашем здоровье. Лично я не хотел бы такого врача.
Те, кто подписан на твитер и следит за мной в инстаграмме уже видели фотографию моей машины. Выкладываю и здесь. Это мы так подготовились к празднованию 70-ти летия победы. Еще фото есть в курилке - здесь. Там же есть и эта фотография, только в более хорошем качестве.
Я писал недавно, что у меня Safari на MacOS стал зависать и переставать грузить страницы. Заметку эту можно прочитать здесь. В общем, просто после какого-то времени работы в ОС браузер не грузит страницы и одновременно переставала работать почта, App Store и другие приложения Apple, которые явно используют интернет. Убийство различных сервисов, перезапуск программ не помогал. При этом Chrome и Firefox продолжали работать без проблем.
Я перепробовал разные способы решить проблемы, удалял кэши, удалял различные настройки. Для тех, кто не пользуется маком возможно будет новостью, но тут большинство проблем решается удалением. Что-то не работает? Удаляем plist файл или вообще директорию с параметрами и перезапускаем программу. Здесь нет реестра, поэтому чистить мусор достаточно просто.
Сегодня у нас на работе был любитель парного программирования (пояснение, заметка была написана еще на прошлой работе, что-то я ее забыл опубликовать). В его компании все работают парами и вот его пригласили к нам рассказать преимущество этого подхода и он целый час рассказывал нам о преимуществах и прелестях, когда программисты работают по двое.
Смысл подхода заключается в том, что все программисты работают парами. У каждого компьютера по два монитора, две мышки и две клавиатуры. Системный блок всё же остается один, поэтому одновременно пишет код только один из программистов, но оба сидят рядом и работают над одной и той же проблемой.
Преимущество такого подхода:
В центре Торонто регулярно можно увидеть рекламу Apple. Эти щиты кажется постоянно показывают что-то этой компании. Вот сейчас рекламируют фотографии, сделанные на iPhone 6.
Не могу говорить со 100% уверенностью, но мне кажется, что Microsoft реально пыталась создать в лице .NET слишком максимально похожим на С, чтобы его проще было учить. Но при этом они сделали большую ошибку - создавали новый язык на старых шпалах. Попытка максимально взять из C++ привела к тому, что в язык было введено много устаревших конструкций.
В C# 6 разработчики явно решили освежить язык и если честно, то многие новинки очень сильно напоминают новый язык Swift от Apple. Возможно не Apple придумала эти вещи, но просто я знаю Swift и сейчас часто использую, поэтому и бросается в глаза схожесть.
Короче, в Swift можно писать имена переменных прямо в строке "Это значение переменной \(param)". Вот в такие круглые скобки, где перед первой скобкой стоит слэш, можно писать переменные. Это удобнее, чем указывать номера в фигурных скобках, как это делается в C или C#. Как я понял, начиная с C# 6 в фигурных скобках можно будет писать имена переменных. Больше не нужно высчитывать номера и расставлять переменные в нужно порядке, просто пишем их прямо в строке.
Только недавно я писал о том, что я сторонник закрытости и поддерживаю подход Microsoft к закрытию всего, что не должно быть открыто. Предыдущий пост на эту тему можно прочитать здесь.
Сегодня на блоге Apple для разработчиков появилась хорошая заметка на подобную тему. Сама Apple явно сторонних открытого подхода и у них все по умолчанию открыто для переопределения и это как раз явно становится для них проблемой в производительности и пришлось даже написать пост.
Смотрим на следующий пример:
Вышел новый XCode 6.3 и у меня снова не компилируется мой код. Apple внесла изменения в новый язык Swift, которые не совместимы с предыдущими версиями и приходится подправлять везде мелкие изменения.
С одной стороны, это немного достает, что приходится обновлять исходный код под каждый чих разработчиков Swift, но с другой я понимаю, зачем это делается. Разработчики языка не могли предусмотреть всего. Язык новый и конечно же сейчас выплывают недочеты дизайна. И чтобы не ставить костыли к новому языку, его просто меняют. Да, теряется обратная совместимость, но зато язык остается чистым.
В последнем XCode в основном поновому приходится приводить as опциональные переменные. Раньше это приходилось делать как param! as something, теперь походу param as! something. Второе выглядит получше и даже смысл немного более правильный.
Сегодня прочитал, что у приложений на ASP.NET Core (это та версия, которая будет работать на всех ОС и за корой будущее) не будет bin директории и программы н будут компилироваться. Вы всё же сможете создать бинарный файл и публиковать его, но по умолчанию этого не нужно.
Сейчас у Web Forms исходные файлы за aspx представлениями не обязательно компилировать. Можно вносить изменения и IIS запустит компиляцию налету. В случае с MVC контроллеры лежат в отдельной директории и их всё же приходится компилировать и это серьезная проблема для сайтов с большой нагрузкой.
Если у ASP.NET 5 Core не будет скомпилированного файла, значит исходники вынуждены будут компилироваться налету.
У меня на новой работе новый компьютер, на котором установлена Windows 8. Уже больше месяца я пользуюсь этой ОС и всё же не могу привыкнуть к необходимости переключатся в плиточный интерфейс.
Простой оконный интерфейс в новом виде мне нравится, тут все действительно выглядит приятно и работает привычно удобно. Но отказ от кнопки Пуск всё же был реальной ошибкой и я не могу понять, как на нее согласились. Сейчас уже MS поняли свою ошибку и вернули кнопку Пуск в новом виде в Windows 10, но всё равно, я не понимаю, как отказались изначально.
Меня бесит переключение между режимами. Работаешь так в оконном режиме, все ничтяк, и тут вдруг переходишь в приложение, которое работает в плиточном режиме. Такое ощущение, что проваливаешься в какую-то черную дыру.