- 15:33:00
- 0 Comments
Выпущена новая версия Xamarin series 3, одной из главных киллер-фишек стала полноценная поддержка функционального/ООП языка F# для разработки кросс-платформенных приложений на одноименной платформе. Подробности можете прочесть по ссылке.
- 17:54:00
- 0 Comments
- улучшен тайлинг и управление действием окон;
- улучшена поддержка тачпадов, а именно:
- разрешена краевая прокрутка и прокрутка двумя пальцами с возможностью их настройки;
- новые модули настройки специальных возможностей и настройки звука (используются вместо легаси из GNOME 3);
- в модуле настроек электропитания устройство аккумулятора дали возможность переименовать его (до сих пор не понимаю - зачем это нужно);
- в модуле настроек предпочитаемых приложений расширены возможности (добавлен выбор для обычных текстовых файлов, документов и файлов с исходным кодом);
- в контекстное меню значков запуска приложений на панели добавлены действия их приложений;
- эффекты анимации диалоговых окон и меню теперь включены по умолчанию (О - оптимизация);
- дашлет изображений теперь также сканирует подкаталоги;
- улучшена поддержка GTK 3.20, Spotify 1.0.27 и Viber
- 11:53:00
- 0 Comments
Данный урок посвящен... Управлению ходом выполнения программы. Для этого в языке программирования Tcl есть два основных оператора - swutch и if. Процедура switch позволяет вам сравнивать строку с другими (но не сопоставлять с образцом - не стоит путать эти понятия).
Это дает возможность описать достаточное большое количество вариантов действия для хода программы. Альтернативой - является оператор if (если вы смотрите наши видеоуроки по языку Python3 - знаете, что им можно заменить switch, по крайней мепе функционально.
- 11:32:00
- 0 Comments
- компиляторе, среде выполнения, утилитах, документации
- пакетах
mime/multipart
,net/http
,sort
.
- 09:55:00
- 0 Comments
Свершилось! Корпорация Microsoft наконец-то выпустила первую стабильную версию редактора кода на основе Atom Shell/Electron Visual Studio
Code (VS Code) для Linux и Mac OS X. VS Code. VS Code выпущен как open-source (MIT License) продукт в ноябре 2015 года. Microsoft заявляет,
что более 500 000 разработчиков пользуются VS Code ежемесячно.
- 09:49:00
- 0 Comments
Здравствйте!С вами Дмитрий и Ринат, мы представляем вам новую передачу в формате проекта "Программирование для начинающих" - "Диалоги об IT". В этих подкастах мы будем обсуждать новости мира ИТ, языков программирования и т.п. Сразу говорим - тут будет много рекламы, в целях получения денег для продвижения основного проекта).
Наслаждайтесь!
Наслаждайтесь!
- 21:57:00
- 0 Comments
- 20:44:00
- 0 Comments
Немного об уроках
Данные уроки являются вольным переводом книги по Rust, который я сам на данный момент изучаю. В этом уроке мы
рассмотрим классическую программу “Hello World”, которую мы в последствии соберем через пакетный менеджер – Cargo.
- 10:42:00
- 0 Comments
Сегодня компания Canonical выпустила новую версию дистрибутива Ubuntu Linux. Версия 16.04 LTS (кодовое имя Xenial Xersus) будет иметь длительную поддержку, а так же в нее войдут следующие:
- 19:03:00
- 0 Comments
Представляем вашему вниманию уроки по языку программирования Tcl. В текстовом виде мы давно рассматриваем данный язык, а сейчас - наконец начали видеоуроки. Надеемся вам понравится!
- 20:18:00
- 0 Comments
11 "апреля" 2016 года состоялся релиз графического тулкита Nuklear. Это небольшая библиотека для быстрого построения GUI. Фреймворк написан на ANSI C (наконец-то оставлен богомерзкий С++).
- 14:03:00
- 0 Comments
- 10:07:00
- 0 Comments
- 18:19:00
- 0 Comments
Rust — мультипарадигмальный компилируемый язык программирования общего назначения, разрабатываемый Mozilla Research, поддерживающий функциональное программирование, модель акторов, процедурное программирование, объектно-ориентированное программирование.
- 16:44:00
- 0 Comments
- 11:51:00
- 0 Comments
Что такое start-up
Перед тем как говорить об инвестициях в "start-up"
(или "старт-ап"), который уже давно на слуху требуется выяснить, что
обозначает данный термин. Дословно термин переводится с английского языка как
"запускать", применяется в данное время к бизнесу, организуемом
"с нуля", как правило - без серьезных инвестиций (по крайней мере,
такое понимание данного понятия прижилось в России). экономической теории под понятием
"старт-ап" подразумевается бизнес, который организуется "с
нуля". А так как нет готовых "элементов" (персонала, средств
производства, клиентов и т.п.), требующий серьезных инвестиций.
- 10:31:00
- 0 Comments
- 10:13:00
- 0 Comments
Одно из основных назначений языка программирования (да и компьютера) - реализация сложных вычислений. Не удивительно, что большинство языков программирования имели "математические" операции в качестве стандартных возможностей языка. Можно сказать, что для, например, языка С нет разницы - выводить надпись на экран или выполнить сложение - все это простые команды оператора. В Tcl все немного иначе. Начнем с того, что все есть результат вычисления. Даже простой вывод на экран - это функция, которая "вычисляется" - т.е. у нее есть результат (в случае, Tcl и если мне не изменяет память - True/False), а вывод на экран - так называемый побочный эффект. Что такое побочный эффект? Это какое-то действие программы, происходящее при вычислении функции, но не относящееся к ней. Почти всё, что сказано тут - относится к базовым понятиям функционального программирования.
В языке программирования Tcl используется специальная команда для математических операций - это expr. Таким образом виртуальная машина языка отделят функции языка с побочными эффектами от функций высшего порядка.
- 09:39:00
- 0 Comments
Введение в практическое применение знаний
1.Введение
Всем здравствуйте, с вами снова Ринат, сегодня я опишу практическое применение тех знании которое вы должны были получить с нашего видеоурока Программирование для начинающих (урок 01) и опишу базовые применения данного курса, надеюсь вам будет это интересно и вы узнаете что-то интересное или разберетесь с тем что не поняли или не доконца поняли в нашем видеоуроке, приятного чтениея ;)
- 01:42:00
- 0 Comments
Второй видео урок по языку программирования Python3. Надеемся вам понравится!
- 20:50:00
- 0 Comments
Для тех, кто попустил - вот первый урок.
Тема нашего сегодняшнего урока – подстановки при обработки программы в языке Tcl.
Тема нашего сегодняшнего урока – подстановки при обработки программы в языке Tcl.
В языке
программирования Tcl обработка команды происходит в две фазы:
- фаза подстановки (именно на этой фазе осуществляется как таковое метапрограммирвоание, но об этому чуть позже);
- фаза выполнения.
В фазе
подстановки происходит та самая «магия», которая свойственна языкам семейства lisp, Forth, Tcl, а теперь и Perl6. Большинство
работы в Tcl программе приходится именно на эту фазу.
Интерпретатор
просматривает каждое слово слева направо (да-да, в Tcl используется «польская» нотация,
т.е. программы читаются справа-налево, а не слева на право) и, когда находится слово, которое должно быть
заменено другим значением, он производит подстановку. На этом принципе держится
понятие макросов в Tcl. Забегая вперед скажу, что макросы – это некие
функции, которые позволяют программе в режиме реального времени «дописывать»
свой же исходный код. Именно эта особенность языка Tcl (фаза подстановки) и является наиболее
значимой, т.к. позволяет делать практически что угодно. Ведь у нас в руках не
просто язык программирования, а программируемый язык программирования, что
означает – мы можем расширять его по своему усмотрению. А это дает практически
безграничные возможности.
Во время
фазы выполнения компилятор обрабатывает команду и выполняет действия, указанные
в команде.
Стоит
помнить, что подстановка происходит только один раз! Интерпретатор Tcl
производит следующие подстановки:
- Заменяет $имяПеременной
заменяет на значениеПеременной.
В примере, Z присваивается значение "Москва". Когда puts "$Z_LABEL $Z" обрабатывается слово $Z_LABEL заменяется на строку "Столица России это:", и $Z заменяется на "Москва" до того, как puts выводит строку на экран. - Специальная последовательность после обратной дроби ("Backslash Sequence" или "Escape Sequence") заменяется на символ с соответствующим кодом:
строка
|
выводимое значение
|
шестнадцатеричное значение
|
\a
|
Звуковой сигнал (звонок)
|
\x07
|
\b
|
Backspace - стирание влево
|
\x08
|
\f
|
Очистка экрана
|
\x0c
|
\n
|
Новая строка
|
\x0a
|
\r
|
Enter
|
\x0d
|
\t
|
Tab - Табуляция
|
\x09
|
\v
|
Вертикальная табуляция
|
\x0b
|
\ddd
|
Восьмеричное значение
|
d = 0-7
|
\xhh
|
Шестнадцатеричное значение
|
h = 0-9,A-F,a-f
|
- Заменяется любая команда в
квадратных скобках на значение, возвращаемое после выполнения этой команды
(более детально это будет рассмотрено в пятом упражнении)
- Заменяется \конецСтроки на пробел, а следующая строка присоединяется к текущей. Некоторые команды очень длинны, и неудобно помещать их в одну строку. Данная подстановка позволяет разбить длинную строчку на несколько коротких.
Слова в
двойных кавычках или фигурных скобках обрабатываются как один аргумент. Вроде
бы все просто, но(!) по своей сути – это разные сущности и действуют они по
разному (хотя и схожи в результате).
Объединение
слово в двойных кавычка позволяет делать замены в фазе подстановки, например:
puts "Текущее значение
переменной - $имяПеременной"
заменит имя
переменной на её значение и выведет всю строку.
Исключение
делается для символов после обратной дроби (\), как и описано ранее. Данная
особенность пришла в Tcl из императивных языков, таких как Pure C, где символ
обратной дроби активно используется для работы со строками.
По своей
сути - обратная дробь просто отменяет подстановку для следующего символа. Это
даёт возможность выводить специальные символы - $, ", [, ], {, }, \ (а так
же реализовывать достаточно интересные вещи в макросах, но об этом мы поговорим
намного позже).
Выполните
простой пример:
# Пример действия \ на символ $
set Z "Мордор"
set Z_LABEL "Владения Саурона:
"
puts
"$Z_LABEL $Z"
puts
"$Z_LABEL \$Z"
# В следующей строке не хватает \
перед $
puts "\nБен Франклин изображен
на купюре $100.00"
set a 100.00
puts "Вашингтона нет на купюре
$a" ;# Это не то
puts "Линкольна нет на купюре
$$a" ;# Это правильно
puts "Гамильтона нет на купюре
\$a" ;# Опять не то
puts "Бен Франклин на купюре
\$$a" ;# Но вот так правильно
puts "\n.................
примеры специальных символов"
puts
"Табуляция\tТабуляция\tТабуляция"
puts "Эта строка будет
выведена\nна двух линиях"
puts "А эта строка выведется\ на
одной линии"
Как
действуют фигурные скобки? Все просто, если двойные кавычки позволяют произвести
замену, то фигурные скобки, наоборот, отключают замену.
Слова,
объединённые фигурными скобками выводятся без изменения. В языках
метапрограммирования такое действие называется «цитированием кода». Так, например,
строка
{$имяПеременной}
будет
обработана как $имяПеременной, а не как-то иначе. Т.е. подстановки не будет! На
фазе подстановки в фигурных скобках заменяется только обратная дробь (\) в
конце строки, чтобы обрабатывать несколько строк как одну.
Фигурные
скобки действуют только если они используются как группирующий оператор. Если
строка уже сгруппирована двойными кавычками - подстановки внутри будут работать, даже если
они работают внутри фигурных скобок.
Приведем
пример работы с фигурными скобками:
set Z "Мордор"
set Z_LABEL "Владение саурона -"
puts "\n................. примеры различия между \" и \{"
puts "$Z_LABEL $Z"
puts {$Z_LABEL $Z}
puts "\n....... примеры совместного использования \{ и \""
puts "$Z_LABEL {$Z}"
puts {Сегодня сообщили: "Стоимость земли – 1 гектар = 1000 рублей"}
puts "\n................. примеры специальных символов"
puts {Внутри скобок замена не производится \n \r \x0a \f \v}
puts {Однако, в конце строки\обратная дробь интерпретируется как пробел.}
Большинство
задач компьютерного программирования заключается в манипуляции данными с
помощью команд, и сохранении данных для того, чтобы в последующем использовать
их в другой команде. В языке Tcl все есть строка, т.е. даже ваш код – является данными.
А это означает – и его можно не только обработать (выполнить), но им можно
управлять, манипулировать…
Один из
инструментов работы с исходным кодом - квадратные скобки ([ ]). В них
заключается результат выполнения команд.
Работает это
примерно так:
- Интерпретатор Tcl получает код.
- На фазе обработки/подстановки, когда интерпретатор Tcl получает команду в квадратных скобках, он начинает её обрабатывать отдельно.
- Вначале производятся замены, а затем команда выполняется как будто она находится на отдельной строке без квадратных скобок (замети, что результат выполнения заменяет команду в скобках, и интерпретатор продолжает обрабатывать строку далее).
Что нам это
дает? А вот задумайтесь. Интерпретатор считает строку в квадратных скобках
командой. А каждая команда обрабатывается в две фазы - подстановка и
выполнение. Результат же выполнения подставляется на место команды в квадратных
скобках. Таким образом мы получаем бесконечную глубину исполнения кода, который
мы можем модифицировать как нам вздумается! Но это потом. А пока обратимся к
практике:
set y [set x "еклмн"]
Помните, что
команда set возвращает значение, которое оно присвоило переменной? Если нет –
обратитесь к нашему первому уроку.
В этом коде
set присваивает значение "еклмн" переменной x. При выполнение строки
эта команда будет выполнена и вместо квадратных скобок будет новое значение
переменной x. таким образом, строка примит вид:
set y
"еклмн"
Данная
команда будет выполнена и значение "еклмн" присвоится переменной y.
Из этого
правила есть два исключения:
- Если перед квадратной скобкой стоит \, то она воспримется просто как буква.
- Внутри фигурных скобок квадратные скобки не действуют.
Выполните
пример, и посмотрите как работают скобки и кавычки.
set x "абв"
puts "Простая замена: $x\n"
set y [set x "еклмн"]
puts "Запомните, что set возвращает новое значение переменной: X: $x Y: $y\n"
set z {[set x "Эта строка в кавычках внутри квадратных скобок."]}
puts "Помните о фигурных скобках: $z\n"
set a "[set x {Эта строка в фигурных скобках внутри кавычек.}]"
puts "В данном случае команда set выполняется: $a"
puts "значение \$x : $x\n"
set b "\[set y {Эта строка в фигурных скобках внутри кавычек.}]"
puts "Помните, \\ обратная дробь отключает скобки:\nзначение \$b : $b"
puts "значение \$y : $y"
- 10:04:00
- 0 Comments
Основы синтакcиса языка
Всем добро пожаловать, меня зовут Ринат и я решил написать краткую статью по синтаксису языка программирования Python 3.x, если вы не видели наше с Дмитрием первый видео урок то советую посмотреть его, где мы объясняем для тех кто только решил осваивать свой первый язык программирования и выбрал именно язык Python.
Начну с небольшого отступления, язык Python делится на 2 версии, это Python 2.x и Python 3.x, я опираюсь именно на современную версию Python 3.x и вам советую т.к. Python 2.x уже морально устарел и в нем нет некоторых "фич" которые добавили в 3-ую ветку языка.
Для начала вам понадобится установить Python "машину":
- Для ОС Windows, скачиваете и устанавливается exe файл с оффициального сайта: https://www.python.org/ но могу заранее предупредить что с установкой дополнительных модулей/пакетов для Python имеются некоторые затруднения, сам я не сижу на ОС Windows(и вам не советую ;) ) по этому решение проблем если возникнуть ищите в Google сами ;)
- Для ОС Linux все очень просто, вводите команду
- apt-get install python/python3 - для Debian подобных
- pacman -Syu python/python3 - для Арч подобных
После установки и настройки(для ОС Windows) устанавливаем себе редактор кода или IDE, могу посоветовать несколько программных продуктов:
- Sublime Text 3 - легкий и расшираемый редактор кода под все(или практически все) языки программирования, имеет куча модулей для удобства и т.п.
- Pycharm IDE - Данная IDE тяжелая вещь т.к. крутится на Java машине, но очень удобная для всех программистов от новичков до уже "старичков"
- Emacs - если хотите потратить пол жизни ради создания своей собственной "круто" IDE или "Интелектульной разума" то можете попробывать настроить ее и работать на ней, говорять очень удобная вещь, мне трудно дать определение что это такое из "коробки", но может превратится во все что угодно ;)
- print('hello world') - после сохраняете файл
- Открываете терминал(CMD) и вводите туда cd(перемещение по папкам) и указываете путь где лежить ваш скрипт и пишите в консоле/терминале python(python3) test.py и вам консоль/терминал сразу покажет выполнение скрипта ввиде: "hello word"
Давайте немного поясню, "команда" print это вывод, выводит можно текст, цифры, буллевые значения(True,False), у меня она в основном используется при дебаге кода, к этому мы подойдем позже.
Переменные - это определенное "имя" в которой хранится значение любых данных, например:
- name = "Ринат" - хранение текстовой информации
- age = 23 - хранения целого числа
- boolean = True - хранения булевых значении
Значение переменных так-же можно выводит print'ом:
- print(name) - выведет "Ринат"
- print(name,age) - Выведет "Ринат 23"
- print("Меня зовут %r и мне %r года" % (name,age) ) - выведет "Меня зовут Ринат и мне 23 года", более подробно про форматирование строк разберемся в последующих уроках
- new = name - переменная new теперь имеет значение "Ринат"
- new = name,age - тут она уже имеет такой вид: "('Ринат', 23)"
Видеоканал
- 05:03:00
- 0 Comments
Великая песня. Отражает сущность целой эпохи. Собственно - слушайте. Не могли обойти. Минутку юмора и ностальгии:
- 09:08:00
- 0 Comments
Здравствуйте, меня зовут Ринат и я начинаю курс по языку программирования Python, версию которую я использую это Python 3.5.
Начну с теории, язык Python является мультипарадигмовым языком, в нем имеется хорошая поддержка ООП(Объектно ориентированное программирование), довольно неплохая поддержка функционального программирования, структурное, императивное и аспектно-ориентированное программирование, каждую парадигму лично я брать не буду, мне ближе всего ООП и функциональную, так что в последующих уроках буду ориентироваться именно на них.
Кроме того, язык Python очень прост в синтаксисе, тем самым прост в изучении(по этому и является учебным языком в США и Европе).
Можете посмотреть моё видео по ссылке
- 19:10:00
- 0 Comments
Свершилось! Мы наконец-то записали первый видеоурок =) Надеемся будет инетресно.. Ссылка для просмотра:
Тык сюда, для перехода
- 19:09:00
- 0 Comments