LINUX.ORG.RU

Сообщения cab

 

[Java] Вопрос по генерикам образовался

Форум — Development

В Java есть подстановочные типы (wildcard type) и обобщенные классы (generic class). Первые выглядят примерно так <? [extends| super someClass]>, а вторые так <T [extends someClass]>.
По ходу у меня возникло несколько вопросов:
1) Насколько я понял из книжки Хорстмана они вообщем дублируют друг друга, позволяя писать независимый от типа код. Но не ясно какие у них отличия и в каких случаях лучше использовать подстановочные типы, а в каких обобщенные классы.
2) Зачем в случае подстановочных типов введены ограничения на супертипы <? super someClass> и подтипы <? extends someClass>, почему не реализовано аналогично «восходящему преобразованию» в обобщенных классах <T [extends someClass]> (т.е. почему нельзя читать и писать одной конструкцией)?
3) В разных изданиях Хорстманн описывает разное поведение подстановочных типов с ограничением на супертипы

For example, Pair<? super Manager> has methods

void setFirst(? super Manager)
? super Manager getFirst()
The compiler doesn’t know the exact type of the setFirst method but can call it with any object of type Manager, Employee, or Object, but not a subtype such as Executive.

Это противоречит его более раннему изданию, где в setFirst можно передавать Manager и Executive, но не их супертипы.
Одновременно у Эккеля аналогичная цитата:

the argument is now a List<? super T>, so the List holds a specific type that is derived from T; thus it is safe to pass a T or anything derived from T as an argument to List methods.

Кому, собственно верить?
4) Какая практическая польза от неограниченных подстановочных типов <?>? Я пока не вижу никакой, кроме проверки на null: с ними нельзя выполнять никаких других операций.

 

cab
()

испанские защитники копирайта оказались организованной семейной преступной группировкой

Форум — Talks

Тут много вкусного. Так как Ъ нервничают, то, вкратце, суть такова, что взяли за коки тех, кто под видом защиты авторов занимался коллекторской деятельностью. Типа нашего Никиты ван-Процента.
UPD Больше раскрыл тему iBliss в скоем комменте.

cab
()

Вышел Nemerle 1.0

Новости — Open Source
Группа Open Source

12 мая 2011 года вышла в свет первая версия языка программирования для .Net/Mono Nemerle 1.0.

В состав инсталлятора входит:
• Компилятор командной строки ncc.exe Nemerle 1.0 для .NET 2–3.5 и Mono 2.x.
• Модуль интеграции с IDE Microsoft Visual Studio 2008.
• Nemerle Express Edition — отдельная IDE на основе Microsoft Visual Studio Shell 2008 Isolated. Данная версия не требует наличия коммерческой версии Microsoft Visual Studio 2008.
• Стандартная библиотека Nemerle и стандартная библиотека макросов.
• Набор дополнительных макробиблиотек — Nemerle Power Pack
• Компилятор в виде .NET-компонента (Nemerle.Compiler.dll).
• Плагин к компилятору позволяющий компилировать файлы C# 4.0
via

>>> Подробности

 , ,

cab
()

GTK, QT, SWING Как называются виджеты?

Форум — Development

На основе каких виджетов сделаны раскрывающиеся виджеты, которые содержат в себе кнопки с другими виджетами из Glade и QTDesigner-а (панель виджетов)?
Есть ли в SWING аналогичные Образцы: QT http://doc.crossplatform.ru/qt/4.5.0/images/designer-main-window.png GTK http://www.gnomejournal.org/images/184.png

cab
()

Вебня. С чего начинать.

Форум — Web-development

Есть у меня несколько задач, работающих как GUI. Было бы кошерно перевести их под веб. Но опыта веб разработки не имею. Постоянно работаю с python и, поменьше, с java. Тратить время на всякие php/ruby не хочу.
С чего лучше начинать в этом случае. Каков вообще минимальный багаж знаний необходим для вебни?

cab
()

Начата работа по включению F# в состав Mono

Новости — Open Source
Группа Open Source

Мигель де Иказа (Miguel de Icaza) в своём блоге рассказал о планах включения недавно открытого языка программирования F# в состав Mono. Кроме того, начата работа над F#-плагином для MonoDevelop. На данный момент плагин умеет автодополнение, подсветку ошибок и документацию по параметрам.

>>> Подробности

 , ,

cab
()

F# опубликован под свободной лицензией

Новости — Open Source
Группа Open Source

Язык программирования F# (компилятор и основные библиотеки), разрабатываемый компанией Microsoft и работающий под .NET и Mono, опубликован под лицензией Apache 2.0.

Загрузить F# можно отсюда, прочитать спецификацию — здесь.

>>> Подробности

 , ,

cab
()

Какую книгу по программированию посоветуете для подростков (13-14 лет)

Форум — Development

Собственно сабж. Желательно, чтобы что-то в таком роде ). Я сначала думал о SICP, но думаю, что это отобьет охоту к программированию вообще.

cab
()

Zimbra не отправляет почту

Форум — Admin

Начал играться с Зимброй и столкнулся с тем, что не могу ни отправить, ни принять почту. Что есть:
Зимбра на убунте 8.04 в VirtualBox-е.
В bind-e на DNS-сервере MX-запись вроде есть:
zimbrasrv      A   10.8.58.203
          MX   15   zimbrasrv
mail.zimbrasrv         CNAME   zimbrasrv
По крайней мере виртуалке пингуется по имени, вывод nslookup -type=MX zimbrasrv
Server: 10.1.0.1
Address: 10.1.0.1#53

zimbrasrv.ltava.plant mail exchanger = 15 zimbrasrv.ltava.plant.

У кого какие мысли?

cab
()

msinfo32, кодировка мать ее

Форум — General

короче, эта срань
start msinfo32 /categories =Resources+ComponentsStorage+ComponentsDisplay /report «report.txt» собирает и отображает данные о конфигурации системы в текстовый файл. Только этот файл не получается прочитать под линуксом ничем, кроме вайновского нотепада. Хотя под виндой блокнот тоже нормально открывает. Что там за кодировка?

cab
()

Видеокурсы по функциональному программированию и F#

Форум — Development

Сабж - http://www.intuit.ru/department/pl/funcprog/ Можно скачать слайды и звук. Видео только просмотр, скачать за деньги

cab
()

One of the most compelling dramas of our time

Форум — Talks

Компутерный ролик со сценами сексуального характера.
http://www.youtube.com/watch?v=WEbOWvONOhU

cab
()

Ортогональность. Помогите уточнить значение

Форум — Development

Собственно встретил фразу «неортогональная система типов».
Мне стыдно спросить, но я не знаю, что означает слово «ортогональность» в програмизьме...
Для Декартовой системы координат в Эвклидовом пространстве - точный аналог перпендикулярности. Я так понял, что в программировании «неоднороден, независим» это как бы синоним «ортогонален». Правильно?
В этом случае не понятна фраза про типы.

cab
()

wine, OEM_CHARSET, кракозябры

Форум — Desktop

Возник вопрос по wine. Есть прога (IBExpert), которая работает с кодировкой CP866. Под виндой для нормального отображения русских букв в настройках я выставлял OEM_CHARSET. Под Линухом, сколько я не корячился но нормального отображения я не добился - все кракозябрами. Может кто знает чем помочь?

cab
()

Умер Валентин Турчин

Форум — Talks

7 апреля, на 80-м году жизни умер выдающийся российский физик, математик и правозащитник Валентин Турчин. Он известен тем, что ввел понятие суперкомпиляции, заложил основы метавычислений, и создал язык программирования РЕФАЛ. Также известен, как автор книг «Физики шутят», «Феномен науки» и других. Кроме того занимался правозащитной деятельностью, в результате которой вынужден был эмигрировать в США.

Подробности

Перемещено svu из OpenSource

cab
()

Emacs, Slime, Clojure, CLASSPATH - не получается нормально подружить

Форум — Development

День добрый. Возник вопрос при прикручивании clojure к slime
(setq slime-lisp-implementations '(clojure («clj-cmd») :init swank-clojure-init))
Здесь clj-cmd - строка, означающая команду из PATH. При попытке подставить сгенерированную строку http://pastebin.ca/1806753, например так
(setq slime-lisp-implementations '(clojure (clj-cmd) :init swank-clojure-init))
emacs начинает ругаться - wrong type argument stringp, clj-cmd.

Собственно чего надо - чтобы clojure нормально воспринимала CLASSPATH. Судя по всему CLASSPATH не воспринимается нормально именно emacs.
Например, выполнение этого скрипта (собственно это команда, которая запускает clojure) http://pastebin.ca/1807970 в emacs и в консоли приводит к разным результатам - в консоли вызов (System/getProperty «java.class.path») выдает правильный результат, а в emacs только ту часть, что выдает ls /opt/clojure/*.jar. Можно, конечно то, что надо прописать после «$CLASSPATH» или написать но это выглядит некрасиво. А написать длинную конструкцию для slime-lisp-implementations тоже не получается - не воспринимаются пробелы.

Как лучше выкрутиться?

cab
()

Clojure 1.1

Новости — Open Source
Группа Open Source

Вышла новая версия языка программирования Clojure. Clojure является динамически типизируемым и компилируемым языком общего назначения для JVM и CLR. Изменений много. Среди них:

  • поддержка примитивных массивов (primitive array generators)
  • chunked-последовательности
  • futures, предназначенные для асинхронных вычислений
  • promises для обмена данными между тредами
  • pre- и post условия для функций
  • новое пространство имён

Полный список изменений тут

>>> Подробности

 , ,

cab
()

Microsoft открывает .NET Micro Framework

Новости — Open Source
Группа Open Source

16 ноября на Professional Developer Conference Microsoft анонсировала 4-ю версию .NET Micro Framework и сообщила о том, что ее откроют под лицензией Apache 2.0.
Тем не менее, некоторые компоненты .NET Micro Framework, такие как TCP/IP-стек и библиотеки для криптографии открыты не будут. Причиной не открытия TCP/IP-стека является то, что это продукция третьих фирм. Библиотеки для криптографии не открываются по причине использования за пределами .NET Micro Framework.

>>> Подробности

 , ,

cab
()

Jython 2.5

Новости — Open Source
Группа Open Source

После нескольких лет перерыва в разработке вышла версия Jython2.5 - Java-реализации языка программирования Python. Возможности нового Jython соответствуют возможностям CPython2.5

>>> Подробности

 , , ,

cab
()

Clojure 1.0

Новости — Open Source
Группа Open Source

4 мая вышла версия 1.0 языка программирования Clojure, представляющего собой функциональный диалект Lisp для JVM. Язык впитал в себя идеи из Lisp, ML, Haskell.
Основные возможности языка

  • Динамическая типизация
  • полиморфизм времени исполнения (Runtime Polymorphism)
  • паралелизм (Concurrent Programming)
Эта версия позиционируется автором, как стабильная и содержит, в основном, багфиксы.

Сайт проекта

>>> Подробности

 , , ,

cab
()

RSS подписка на новые темы