Новый язык программирования от Apple - Swift меня сегодня сильно удивил. Строки в этом языке по современному не мутируемы. Логично, с точки зрения безопасности. Каждый раз, когда вы в коде пишете:
s = s + “test”
В реальности для s выделяется новая память, а не добавляется к существующей. Это правильно. Язык Swift объектный и все там объекты. Но внимание - для получения длины строки нужно использовать глобальную функцию countElements, которая подсчитывает количество элементов простой интеграцией по всем символам.
Сейчас по дороге на работу и домой я стал изучать Swift и пробовать писать на нем что-нибудь. Ну что я могу сказать - интересный язык и будущее у него достаточно интересное. Я кстати не смотрел, какая у самого языка лицензия и является ли его спецификация открытой. Но даже если она и открыта, не думаю, что Google, Microsoft или кто-то еще решатся переносить его на свои платформы.
У Microsoft платформа .NET открыта и язык C# свободен, но его реализовывает только энтузиасты. Google выбрала для себя Java не смотря на его ограничения в лицензирование и последующие судебные преследования со стороны Oracle, а Apple идет совершенно своим путем и решили ни у кого и ничего не брать. Хотя взяли у свободного сообщества компилятор и ядро своей ОС. Возьмет ли сообщество Swift? Наверно нет.
Когда я первые начал писать код для iOS с использованием Objective-C, то мне было достаточно сложно привыкнуть к этому языку. Он немного не привычный, хотя в названии и присутствует знакомая мне буква C, просто концепция вызова методов, объявления классов очень не привычны. Да и в языке отсутствуют такие удобные вещи как модификаторы доступа или пространства имен.
Мне кажется, что писать программы для iOS все же немного сложнее, чем для Windows. C# и .NET Framework все же будут на много мощнее. Не удивительно, что Apple представила в этом году новый язык программирования для своих платформ - Swift.
Apple объявляет о появлении нового языка Swift, который должен быть на много быстрее и будет обладать всеми возможностями, которых так не хватает программистам в Objective-C.
Смысл понятен, Apple решили, что проще создать новый язык, чем тянуть Objective-C, который слишком старый и создавался без учета таких простых необходимых вещей, как пространства имен.
Блин, я уже работал с таким количеством языков, что не особо хочется учить что-то еще. Но я как минимум попробую Swift.
В почтовый ящик поступил вопрос:
Очень нуждаюсь в Вашем совете, в каком направлении программирования мне начинать копать. Например, веб или системное, мобильное, 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 ограниченных данных, восстановить где-то на сервере и складировать данные. Нереально. Проще обновить все затертые данные случайным мусором и сказать, что во всем виноват Билл Гейтс.