В почтовый ящик поступил вопрос:
Очень нуждаюсь в Вашем совете, в каком направлении программирования мне начинать копать. Например, веб или системное, мобильное, iOS, android?
Программирование - такая сфера, где платят достаточно хорошо и спрос на специалистов есть везде, главное - это умение программировать, а язык и направление - это вторично. Так что могу посоветовать одно - выбирайте то направление, которое нравится. Если нравятся мобильники и Андроиды, то выбирайте эту сферу, а если яблоки, то начинайте изучать iOS программирование.
Кто еще пишет на Delphi? На сколько он популярен в России? Украине? Белоруссии?
1-е мая 1964-го года официально была запущена первая программа на языке Basic. Это сделал знаменитый John G. Kemeny и студент программист. С тех пор прошло уже 50 лет и уже многое изменилось.
В 1964-м году, чтобы полноценно получать удовольствие от владения компьютером, просто необходимо было знать какой-то язык программирования. Сейчас уже даже в Linux можно жить без написания скриптов (это же тоже своеобразные программы), а просто включать компьютер и работать в графических оболочках операционн систем без знания программирования.
Само программирование конечно же сделало огромный шаг вперед. Сейчас уже не нужно подсчитывать или нумеровать строчки и прыгать по ним с помощью операторов goto. Языки программирования на столько красивые, что можно писать целые истории на языке C++. Книга Clean Code даже говорит программистам, что код должен выглядеть как самая настоящая история и читать код нужно прямо как книгу, тогда код будет красивым.
Это правда, что для Windows нет нормального эмулятора и все, что есть - платное? Просто на работе парень, который мне подчиняется пришел и сказал, что нужно купить лицензию какого-то эмулятора, который стоит $300 в год. Бесплатно можно использовать только в не коммерческих целях, а мы то коммерческая организация и нарушим закон, если будем пользоваться. Проект короткий и покупать ради него не вижу смысла.
Я сейчас пишу систему, которая будет предоставлять мобильному приложению регистрировать устройства в моей системе и я потом буду рассылать сообщения Notifications на мобильные телефоны.
У меня есть Apple Developer аккаунт и я быренько набросал приложение для iPhone и уже оттестировали его. А вот для андроида я никогда не писал и особо не планирую. Есть ли какой-то быстрый способ проверить - доходят мои сообщения для телефонов этой платформы?
У нас на работе парень (извинюсь, но он из Индии) запустил update без указания секции where прямо на боевой базе данных. Результат - записи всей таблицы обновились, хотя ему нужно были изменить только одну. Ну со всеми бывает, надеюсь, что будет редко и меня обойдет.
Самое обидное, что он делал все по правилам - открыл транзакцию, запустил обновление, увидел, что изменено 11 тысяч строк вместо одной и почему-то проигнорировал и закомитил данные. Только потом увидел свой косяк.
Всего 11 тысяч строк, но в достаточно важной таблице. Восстанавливать базу из резервной копии - слишком долго. Нужно за просить последнюю копию у админов, получить разрешение на копирование 300 гигабайт PCI ограниченных данных, восстановить где-то на сервере и складировать данные. Нереально. Проще обновить все затертые данные случайным мусором и сказать, что во всем виноват Билл Гейтс.
Сегодня на работе кинули клич о том, как можно использовать Windows для PHP разработки. Когда я последний раз это делал, то использовал Денвер, но это было много лет назад. Решил попробовать найти его и установить и столкнулся с проблемой - он на русском и на мою английскую версию Windows установить не получилось, потому что там задают какие-то вопросы в консоли, которые я просто не могу прочитать, я вижу только бред из каракуль.
Хотел посоветовать своим канадцам Денвера, но понял, что они вообще не смогут его поставить и даже решил не заморачиваться. Попытался поискать английскую версию, но к сожалению безуспешно.
Существует ли англоязычная версия? Если ли что-то англоязычное, на подобии Денвера?
Меня, как Web программиста стало сильно раздражать разнообразие различных версий IE. В любой документации при заказе клиентом сайта я вижу, что мои сайты должны поддерживать последнюю версию Chrome, последнюю версию Firefox и Internet Explorer 8, 9 и 10. Я понимаю своих клиентов, потому что они не хотят расстраивать своих посетителей, которые не могут или не хотят переходить на новые версии браузеров от Microsoft. Но я не понимаю саму MS.
Компания Майкрософт сама создает огромное количество сайтов и им же самим приходится поддерживать весь этот зоопарк ишаков, которые они создают. Неужели, они не задолбались? Проще и дешевле было перенести IE 10 на XP и обновить всех пользователей без спроса, как это делают другие браузеры. Пора вообще убрать версии из браузеров а просто их обновлять каждые несколько месяцев, добавляя возможности и исправляя косяки.
Та же песня и с Андроидом. Я не представляю, как программисты поддерживают огромное количество разных вариаций, которые не совместимы друг с другом?
Компания Facebook выпустила собственный язык программирования, который они назвали Hack. Достаточно громкое название.
Hack основан на PHP и может даже жить с ним одновременно в одном коде, но самое главное отличие нового языка - в нем поддерживается строгая типизация. В PHP программисту не нужно думать о типе данных, все преобразовывается на лету и не нужно думать о том, с числом вы работаете или со строкой. Это создает удобство и спорную простоту, а на мой взгляд, добавляет только проблем, потому что компилятор не может проверить код на наличие ошибок не корректной работы с типами данных.
С точки зрения простоты - программисту все равно нужно думать о типах данных и понимать, какие они бывают и как работают, иначе просто и быть не может. Так что отсутствие необходимости писать тип не дает особо преимуществ.
Допустим, что нужно получить количество записей из таблицы, сгруппированных по дням. Такое решается достаточно просто, нужно только обрезать время и сгруппировать строки:
select convert(varchar(10), StartDate, 102) as StartDate, count(*) from TableName group by convert(varchar(10), StartDate, 102) order by 1 desc