Показаны сообщения с ярлыком СПО. Показать все сообщения
Показаны сообщения с ярлыком СПО. Показать все сообщения

воскресенье, 17 октября 2010 г.

Python: запускаем скрипты

 Если вы пользователь Linux то скорее всего у вас уже все есть и проверить наличие python довольно просто:откройте командную  строку и наберите: python
На самом деле все вы уже можете писать программы) Каждое ваше действие вы непосредственно передаете интерпретатору и его результаты будут немедленно показаны на экране в командной строке. Можно так же установить IDLE это штатная и очень неплохая среда разработки на python:
apt-get install idle. 
  А если нам захочется немедленнот в консоли проверить команду python? Ответ: 
python -c "print( 'Twest')"
-с заставляет python интерпретировать строку как код. 
Чтобы запустить скрипт в консоли можно написать python имя_скрипта.py 
А если написать в скрипте первой строчкой: #!env/python 
То python будет запущен с этим скриптом автоматом по команде 
./имя_скрипта.py    
./ Так как заставляет искать скрипт не по переменным окружения, а в текущем каталоге   

Что такое copyleft?

Все нам внушают то что собственность это святое и неприкосновенное, и то что за все нужно платить.Производители коммерческого программного обеспечения явно довольно таким положением вещей и всячески его стремятся закрепить.Однако практика развития ИТ показала, что оказывается можно иначе. Как? Окунемся немного в историю OpenSource движения
Первые открытые лицензии это лицензия MIT и BSD. Но это были весьма мягкие лицензии для пропиетарных программ.Но свою пользу они принесли, например система FreeBSD и ей родственные используются и поныне.   главное отличие лицензий MIT и BSD от GPL и сходных с ней лицензий в том, что они не запрещают совмещать открытый код и закрытый и делать весь код закрытым. Пропиетарные дельцы этим пользуются, например продукт LabVIEW использует виртуальную машину LLVM для организации выполнения байт-кода, однако исходные тексты LabVIEW вы не получите:) 
В 1984 году Ричард Столлман выдвинул новый тип лицензии GPL. Ее отличиемот предыдущих лицензий открытого типа была очень жесткая позиция по отношению к закрытым программам, а именно: ни одной строчки кода под GPL не может попасть в закрытый продукт. Для защиты от пропиетарных(закрытых) продуктов GPL-кода от закрытия было выдвинуто 4 права и одно ограничение GPL лицензии. 
Права:

  • Выполнять программу с любыми целями как коммерческого так и некоммерческого характера 
  • Свободно получать исходный текст программы 
  • Модифицировать исходный текст программы 
  • Распространять свою версию программы вместе со всеми   изменениями на условиях той же лицензии с которой вы ее получили 
Именно благодаря последнему пункту мы наблюдаем бурное развитие GPL-софта и его возрождение из пепла даже если разработчики бросили проект. Конечно то что производные работы заставляют то же лицензировать под GPL очень не нравится производителям коммерческого софта и они потому не особо то и хотят участвовать в OpenSource движении.Microsoft кроме того открыто поливает грязью открытый код. 
   Хотя и я уже об этом и говорил, но повторюсь: приучать со школы надо именно к открытым GPL-разработкам, так как они гораздо дешевле государству, либо равны, а часто и лучше своих коммерческих аналогов  по возможностям. Кроме того так как многие открытые программы таят в себе множество возможностей при внимательном изучении и требуют своего изучения, то пользователь приучится читать документацию. 
Теперь посмотрим на это и с другой стороны: государству то же есть немалая выгода в OpenSource, ведь вокруг нужного продукта формируется сообщество, которое может помочь тестированием кодом и т.д. При чем процесс можно вполне контролировать госорганизациям.А реализация научных разработок в рамках открытой модели это и дальновидное решение с точки зрения правительства. Почему? 
1) Открытая форма распространения знаний позволит более эффективно совершенствовать разработку. Если применять GNU/GPL  то и воровать код, чего так боятся, будет невыгодно потому что разработка будет нелегальной и это будет грозить судебными разбирательствами. 
2) Разработка комплекса ПО для исследований с открытым исходным текстом позволит избежать волокиты и высоких затрат для университетов и НИИ страны. Кроме того открытые исходники будучи способствовать более лучшему вовлечению студента в процесс обучения программирования.        
3) Государству и крупным корпорациям будет выгодно распространять часть технологий как открытые стандарты, привязывая тем самым разработчиков к своей инфраструктуре            

четверг, 5 августа 2010 г.

СПО и школы (некоторые размышления)

То что наши школы не являют собой образец богатства всем известно. Поэтому не мудрено что внедрение свободного программного обеспечения (СПО) является серьезным прогрессом и экономией. Естественно здесь должна идти речь и о Linux. Основная претензия к Linux в школах это трудность ее освоения. Ну конечно если мы берем что нибудь типа GENTOO, то да. Это дистрибутив с "исходниковой" ориентацией и его трудно порекомендовать начинающим. Но Linux Mint или Linux Ubuntu вполне дружелюбны к пользователю, если конечно он будет все же немного осторожен в своих действиях. Очень часто можно слышать тезис о некой сложности Linux для повседневной жизни. Ну давайте посмотрим так ли уж страшен черт как его малюют:
1) Процесс установки. В большинстве крупных дистрибутивов предусмотрены продуманные средства управления установкой. И потому если вы хоть раз устанавливали Windows и прочтете инструкции по установке Linux то это все будет довольно просто. Тем более например Ubuntu  имеет режим, который позволяет автоматически ее инсталлировать для совместного проживания с Windows. При чем все что потребуется от пользователя нажать на кнопку а перед этим нажать переключатель, да это супер сложно! 
2) Установка приложений. Ну начнем с того  что в принципе в Linux имеются довольно много крупных программ, которые поддерживаются и  разработчиками дистрибутивов и сообществом. В Linux давно разработаны две системы установки rpm и deb. Установка из таких пакетов даже проще чем из Windows инсталяторов.А разработка Центра приложений Ubuntu вобще облегчила задачу установки ПО до безобразия:) Да и из командной строки установить не сложнее: sudo apt-get install <название приложения>. А вот со сборкой приложений из исходников школьный учитель скорее всего не столкнется.Хотя и этот пункт не смотря на большие трудности документирован весьма подробно от HOWTO документов до глав в книгах для чайников Linux и страниц man. Хотя во многом для школьного компьютера  устанавливать ничего не придется: GNOME предлагает и Open Office готовым к работе, и аудио видео редакторы, некоторые средства разработки.Поэтому и этот пункт не может быть серьезным контрвозражением 
3)Железо. Linux не стоит на месте и уже во многом может заниматься автоопределением  железа. Наиболее дальновидные разработчики такие как nVidia предоставляют и пропиетарные  драйверы для Linux. Само сообщество постоянно работает над расширением спектра поддерживаемой аппаратуры. Если компьютер имеет стандартную комплектацию то о драйверах под linux вы и не вспомните. 
4) Несоответсвие образовательным стандартам. Это для меня вообще тайна за семью печатями:) Несоответсвие в чем?
а) Локализации. Встретить не русифицированные места в системе можно, но все меню и инструменты            
управления системой, офисные приложения давно переведены на русский. Полно русскоязычных ресурсов поддержки. 
б) ПО. Честно говоря и в самом деле, если надо ребенок и сам научиться писать текстовые документы, работать с картинками, шастать по инету. Все же это уже к информатике как науке мало имеет отношение. Конечно для некоторых мест нашей страны где компьютер в каждом доме у ребенка не является нормой такие занятия необходимы, но они не должны занимать 90% времени. Но какая разница ребенку это изучающему на чем он будет учиться: на Open Office,Koffice или MS Office. Задача школы в данном случае дать ребенку общий навык. А если школа его привязывает к конкретному продукту какая от нее тогда польза? 
в) Обучающее и тестирующее ПО. М-да казалось бы проблема: здесь правит бал Windows.Но! Во первых что то я не заметил чтобы в школах повально применялось компьютерное программное обеспечение в обучении, а потом Linux это платформа для кучи программного обеспечения в целях обучения от астрономической Celestia до редакторов и визуализаторов хим формул и программ геометрического профиля. Да руссифицированность этих программ практически нулевая, но что мешает государству профинансировать проект по переводу выбранного обучающего ПО. Это же ни чуть не дороже поддержки лицензионного софта, а то и дешевле. Потом и само ссообщество OpenSource поможет. Всякого рода тестируюшее ПО: ну уровень современного ПО без веб-технологий таков, что и первокурсник немного знающий язык программирования и принцип перетащил и отпустил его напишет. RAD системы под linux то же имеются хотя бы тот же QT. Так что для нормального программиста шока и ломки мировоззрения не наступит. 
г) Учителя. Во первых Linux как мы уже выяснили хоть и другой, но чтобы пользоваться им уровень гуру от вас не требуется. А привыкнуть кновому расположению кнопок и немного почитать книжечку, да это очень сложно.Ну а птом у нас же вроде как всякого рода институты Открытого образования имеются, а там кафедры информатики с курсами для учителей.    
д) Языки программирования. Pascal  в Linux есть вам тут и Lazarus и его основа FPC. Visual Basic в Линукс нет, но есть другие диалекты basic. Ну уж про С и С++ и говорить не приходится. 
То есть в чем не соответствие неким мифическим стандартам неясно.  
Так в чем проблема на самом деле? Как мне кажется их несколько:
1) Министерство образования выстраивало схемы закупки, многие фирмы на этом уже прегрелись, а тут такой облом с этим СПО. 
2) Информатика в школе сейчас конкурент серии книг для чайника. Хотя изначально информатика это наука о ЭВМ, а не о том как нажимать на кнопочки.Современный школьник по выходе из школы не знает ни элементарных основ алгоритмики. Алгоритм "пузырька"  для многих студентов первокурсников тайна за семью печатями, понятие о сложности алгоритма еще большая тайна. Само составление алгоритмов у школьников то же явно не в лучшем состоянии, хотя в принципе это во многом сродни решению задач по математике и помогло в лучшем понимании этого. Знание об устройстве компьютера у учащегося то же весьма смутные, уж не говоря о структуре ОС. Образование должно дать человеку возможность осознанного выбора, это заявляется как одна из целей. Однако что по факту: тебя привязывают к одной платформе,учат по принципу обезьяны. Спросите современного школьника что такое OpeenSource,FreeBSD,Linux. Боюсь что он сделает жуткие глаза и ничего не ответит. Так о каком выборе можно говорить?                       
3) Привычка, неграмотность и боязнь перемен. Что ж конечно всегда привычней жить как тебе хочется и идти по накатанному, но мир информатики не таков. Чиновники не слишком грамотны и забот у них очень много, чтоб еще с Linux возиться, ведь он до сих пор живет одной командной строкой, а про GNOME и KDE мы не слышали.      
Фактически внедрению СПО мешают лишь косность, финансовые интересы и схемы и в принципе неверная трактовка назначения курса информатики.