SlideShare a Scribd company logo
Разница между кодированием и программированием Виталий Хить, Абсолютист
ПРОГРАММИРОВАНИЕ
КОДИРОВАНИЕ ?
ПРОЕКТИРОВАНИЕ & КОДИРОВАНИЕ Проектирование Объектная модель Паттерны Кодирование Реализация проектной модели на языке программирования Использование программной среды Языково зависимые конструкции Фреймворки
МОНЕТИЗАЦИЯ КОДА Поддержка программы Создание новых версий программы Повторное использование Уровень функций Уровень классов Уровень библиотек Open Source (уровень фреймворков) Продажа исходников
Уровни абстракций кодирования Оформление кода Пространство имен Языковые конструкции Фреймворки
Оформление кода Пример 1 if (a) b = 2; else b = 3; Пример 2 if (a) { 	b = 2; } else { 	b = 3; }
Пространство имен Стандартные правила имен в языке Корпоративные правила именования Правила имен в фреймворке
Языковые конструкции
ЯЗЫКОВЫЕ КОНСТРУКЦИИ JavaScript var Class1 = {}; Class1.x = “Test”; Class1.prototype.functionA = function() { return 5; } Class1.functionB = function() { return this.x; } function Class2() {} AS2 class Class1 { 	public var x :String = “Test”; 	function Class1() {}; 	function functionA() :Number { return 5; } 	function functionB() :String { return this.x; }  } AS3 Приведение типов Полноценный static
ФрейМВОРКИИЛИ ОСОБЕННОСТИ ЯЗЫКА? 2 + 2 = 4? Sprite s = new Sprite(); s.x += 0.000000001; trace(s.x); // 0 Number y = 0; y += 0.000000001; trace(y); // 0.000000001; mxml
Читабельность & производительностЬ AS3 vari :int = 1;		push 1 var j :int = 2;		push 2 var k :int = i + j;		add  convert_i HAXE	 add_i 	inline Tamarin (ByteCode) function main 			function {				{ 	getlocal0			pushbyte 1 pushscopepushbyte 2 add_i finddef print		.print pushbyte 1		} pushbyte 2	 add_i callproperty print(1) returnvoid }
Самодокументированный код Документирование классов и членов классов Документирование заголовков функций Документирование кода Документирование соглашений
УНИВЕРСАЛЬНЫЕ ФРЕЙМВОРКИ Flex Достоинства Все в одном флаконе Индустриальный стандарт Недостатки Mxml Большой вес Базовый класс (>400K текста) MinimalComps (bit-101.com)http://www.minimalcomps.com/ Достоинства Базовый класс (<7K) Высокая модульность Недостатки Отсутствие соглашений Слабая расширяемость Грустненький вид
Чукча - писатель Зачем необходимо уметь читать чужой код Документация & исходники Библиотеки в бинарниках  или исходниках Как этому научиться Гугл код Портирование с другого языка
СпАСИБО ЗА ВНИМАНИЕ ВОПРОСЫ?

More Related Content

What's hot

9773
97739773
9773
nreferat
 
Опросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехникеОпросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехнике
Alexander Kolotov
 
Lala qasanzade 9r2 c++
Lala qasanzade 9r2  c++Lala qasanzade 9r2  c++
Lala qasanzade 9r2 c++lala9r2
 
Lala qasanzade 9r2 c++
Lala qasanzade 9r2  c++Lala qasanzade 9r2  c++
Lala qasanzade 9r2 c++lala9r2
 
WinRT
WinRTWinRT
WinRT
GetDev.NET
 
Programming history. Algorithm
Programming history. AlgorithmProgramming history. Algorithm
Programming history. Algorithm
Ihor Porotikov
 
Техподдержка и внутренняя разработка
Техподдержка и внутренняя разработкаТехподдержка и внутренняя разработка
Техподдержка и внутренняя разработка
Sam Faktorovich
 
языки программирования
языки программированияязыки программирования
языки программирования
Dmitry Kulikov
 
C++ осень 2012 лекция 12
C++ осень 2012 лекция 12C++ осень 2012 лекция 12
C++ осень 2012 лекция 12Technopark
 

What's hot (10)

9773
97739773
9773
 
Опросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехникеОпросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехнике
 
Lala qasanzade 9r2 c++
Lala qasanzade 9r2  c++Lala qasanzade 9r2  c++
Lala qasanzade 9r2 c++
 
Lala qasanzade 9r2 c++
Lala qasanzade 9r2  c++Lala qasanzade 9r2  c++
Lala qasanzade 9r2 c++
 
Смолина Пользовательские интерфейсы систем лингвистической разметки текстов
Смолина Пользовательские интерфейсы систем лингвистической разметки текстовСмолина Пользовательские интерфейсы систем лингвистической разметки текстов
Смолина Пользовательские интерфейсы систем лингвистической разметки текстов
 
WinRT
WinRTWinRT
WinRT
 
Programming history. Algorithm
Programming history. AlgorithmProgramming history. Algorithm
Programming history. Algorithm
 
Техподдержка и внутренняя разработка
Техподдержка и внутренняя разработкаТехподдержка и внутренняя разработка
Техподдержка и внутренняя разработка
 
языки программирования
языки программированияязыки программирования
языки программирования
 
C++ осень 2012 лекция 12
C++ осень 2012 лекция 12C++ осень 2012 лекция 12
C++ осень 2012 лекция 12
 

Similar to Разница между кодированием и программированием - Виталий Хить

TypeScript
TypeScriptTypeScript
TypeScript
GetDev.NET
 
Разработка веб-сервисов осень 2013 лекция 7
Разработка веб-сервисов осень 2013 лекция 7Разработка веб-сервисов осень 2013 лекция 7
Разработка веб-сервисов осень 2013 лекция 7Technopark
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
SQALab
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
Aliaksandr Ikhelis
 
Разработка веб-приложений с помощью TypeScript
Разработка веб-приложений с помощью TypeScriptРазработка веб-приложений с помощью TypeScript
Разработка веб-приложений с помощью TypeScript
Stas Vyschepan
 
Автоматизированный подход к локализации корпоративных приложений
Автоматизированный подход к локализации корпоративных приложенийАвтоматизированный подход к локализации корпоративных приложений
Автоматизированный подход к локализации корпоративных приложений
Softengi
 
основы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программированиеосновы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программирование
YakubovichDA
 
Внедрение CASE-технологий
Внедрение CASE-технологийВнедрение CASE-технологий
Внедрение CASE-технологийОтшельник
 
559646.pptx
559646.pptx559646.pptx
559646.pptx
rshtepman
 
Сущность библиотеки анализа кода VivaCore
Сущность библиотеки анализа кода VivaCoreСущность библиотеки анализа кода VivaCore
Сущность библиотеки анализа кода VivaCore
Tatyanazaxarova
 
Профессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом EnterpriseПрофессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом Enterprise
Alexander Granin
 
Scripting languages
Scripting languagesScripting languages
Scripting languagesLev Panov
 
Специфика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомСпецифика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодом
SQALab
 
C++ осень 2012 лекция 7
C++ осень 2012 лекция 7C++ осень 2012 лекция 7
C++ осень 2012 лекция 7Technopark
 
Введение в gRPC
Введение в gRPCВведение в gRPC
Введение в gRPC
Mad Devs
 
Введение в gRPC
Введение в gRPCВведение в gRPC
Введение в gRPC
Колёса Крыша Маркет
 
Особенности тестирования открытого ПО
Особенности тестирования открытого ПООсобенности тестирования открытого ПО
Особенности тестирования открытого ПОAlexey Lyanguzov
 
Step cpp0102
Step cpp0102Step cpp0102
Step cpp0102
Evgenij Laktionov
 

Similar to Разница между кодированием и программированием - Виталий Хить (20)

Progopedia - OSDN
Progopedia - OSDNProgopedia - OSDN
Progopedia - OSDN
 
TypeScript
TypeScriptTypeScript
TypeScript
 
Step 1
Step 1Step 1
Step 1
 
Разработка веб-сервисов осень 2013 лекция 7
Разработка веб-сервисов осень 2013 лекция 7Разработка веб-сервисов осень 2013 лекция 7
Разработка веб-сервисов осень 2013 лекция 7
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
Разработка веб-приложений с помощью TypeScript
Разработка веб-приложений с помощью TypeScriptРазработка веб-приложений с помощью TypeScript
Разработка веб-приложений с помощью TypeScript
 
Автоматизированный подход к локализации корпоративных приложений
Автоматизированный подход к локализации корпоративных приложенийАвтоматизированный подход к локализации корпоративных приложений
Автоматизированный подход к локализации корпоративных приложений
 
основы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программированиеосновы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программирование
 
Внедрение CASE-технологий
Внедрение CASE-технологийВнедрение CASE-технологий
Внедрение CASE-технологий
 
559646.pptx
559646.pptx559646.pptx
559646.pptx
 
Сущность библиотеки анализа кода VivaCore
Сущность библиотеки анализа кода VivaCoreСущность библиотеки анализа кода VivaCore
Сущность библиотеки анализа кода VivaCore
 
Профессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом EnterpriseПрофессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом Enterprise
 
Scripting languages
Scripting languagesScripting languages
Scripting languages
 
Специфика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодомСпецифика тестирования проектов с открытым исходным кодом
Специфика тестирования проектов с открытым исходным кодом
 
C++ осень 2012 лекция 7
C++ осень 2012 лекция 7C++ осень 2012 лекция 7
C++ осень 2012 лекция 7
 
Введение в gRPC
Введение в gRPCВведение в gRPC
Введение в gRPC
 
Введение в gRPC
Введение в gRPCВведение в gRPC
Введение в gRPC
 
Особенности тестирования открытого ПО
Особенности тестирования открытого ПООсобенности тестирования открытого ПО
Особенности тестирования открытого ПО
 
Step cpp0102
Step cpp0102Step cpp0102
Step cpp0102
 

Разница между кодированием и программированием - Виталий Хить