Scala: двоичная несовместимость между выпусками

Почему Scala двоичный несовместимый между различными выпусками?

20
задан linuxbuild 17 September 2011 в 20:13
поделиться

4 ответа

. Это делает его так, чтобы изменения были очень легко вносить изменения, которые не нарушают совместимость источника, но разбить двоичную совместимость, потому что когда вы добавляете новый метод в честь наряду с реализацией, вы должны перекомпилировать все, что реализует эту черту, чтобы они будет собирать эту реализацию. Там, вероятно, другие проблемы, но я думаю, что они в основном по теми же линиям.

21
ответ дан 29 November 2019 в 23:57
поделиться

Если вы перемещаете вещи так, что объект с несколькими массивами создается с помощью параматера:

#include "boost/multi_array.hpp"
#include <iostream>

class Influx {
public:
    Influx ( unsigned int num_elements ) :
        foo( boost::extents[ num_elements ] )
    {
    }
    boost::multi_array<int,1> foo;
 };

int main(int argc, char* argv[])
{
    Influx influx(10);
    influx.foo[3] = 5;
    int val = influx.foo[3];
    std::cout << "Contents of influx.foo[3]:" << val << std::endl;
    return 0;
}

Я думаю, что то, что происходило для вас, это то, что вы создали foo, когда был создан объект Influx, но затем вы снова устанавливаете его, так что когда люди называют это, случаются плохие вещи.

Мне удалось получить вышеуказанный код, работающий на MS VS 2008.

-121--3950623-

Я довольно успешно использовал GCCXML на достаточно крупных проектах. Вы получаете XML-представление кода C (включая структуры), которое можно постобработать с помощью простого Python.

-121--2467956-

Он все еще относительно молод и активно развивается.

Есть некоторые изменения в новом выпуске, которые с нетерпением ждали и которые помогают с большим количеством проблем, но не удалось сделать их обратно совместимыми.

Поскольку Sun довольно ограничительно относится к обновлениям, Java меняется довольно медленно и обычно пытается оставаться обратно совместимым с горьким концом. Иногда это стоит на пути прогресса, но большие компании любят стабильный язык.

Scala, с другой стороны, находится в руках небольшой группы ученых, и она (пока) не широко используется в отрасли, поэтому они имеют (или берут) больше свободы с изменениями.

2
ответ дан 29 November 2019 в 23:57
поделиться

Сервис > Параметры > Монтажная панель

Изменить «Зумирование с помощью» на Ctrl «+ колесо мыши»

-121--3286895-

Вот как вы делаете это с помощью метода пути xml (там тоже есть слияние...)

SELECT DISTINCT n.ReferenceID,
STUFF((SELECT ', ' + COALESCE(n2.FirstName+' '+n2.LastName,n2.FirstName,n2.LastName,'NoName') 
    FROM namelist n2
    WHERE n.referenceid = n2.referenceid
    ORDER BY n2.lastname, n2.firstname
    FOR XML PATH('')
  ), 1, 2, '') AS [Name]
FROM namelist n
-121--4691014-

Отсутствие поддержки JVM для специфичных для Scala функций, таких как упомянутые черты, и тот факт, что он активно развивается.

9
ответ дан 29 November 2019 в 23:57
поделиться

ммм, нет. Получите свои факты прямо. Не было необходимости перекомпиляции * при переходе от 2.7.2,3b1 -> 2.7.2.3b2, что было реальным облегчением для меня из-за большой клиентской базы, с укоренившимся устаревшим кодом, используя 2.7.2.3B1.

* Предостережение - если вы не потом не использовали код в Scala.collection._ или Scala.xml ._

0
ответ дан 29 November 2019 в 23:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: