LINUX.ORG.RU
ФорумTalks

ktranslator 0.3 или почему Java не панацея


0

0

Как-то недавно прочитал топик "ktranslator или почему KDE тормоз",
а на днях наткнулся на kde-apps на объявление о том что вышла новая версия,
взглянул на код (это праздник какой-то), предыдущий код изменился,
теперь он выглядит так:

ktranslator/plugins/dictd/dictzip.cpp

// Find the headword in index file
entry = dic[word];
if( entry.size == 0 ) return QString::null;

для особо тупых: человек хочет проверить есть ли слово в QMap, только вот в случае если его нет, слово добавляется, но никто этого не замечает, т.к. entry.size==0, а память все кушается и кушается.

И как вы думаете Java поможет сделать код таких программистов лучше или визуал васик?


anonymous

Re: ktranslator 0.3 или почему Java не панацея

патч послал? если нет иди фпе^?^?туда

Muromec ☆☆ ()

Re: ktranslator 0.3 или почему Java не панацея

Юзай Java - и будет тебе счастье: public interface Map<K,V>.


The primary advantages of a collections framework are that it: 

Reduces programming effort by providing useful data structures and algorithms so you don't have to write them yourself. 
Increases performance by providing high-performance implementations of useful data structures and algorithms. Because the various implementations of each interface are interchangeable, programs can be easily tuned by switching implementations. 
Provides interoperability between unrelated APIs by establishing a common language to pass collections back and forth. 
Reduces the effort required to learn APIs by eliminating the need to learn multiple ad hoc collection APIs. 
Reduces the effort required to design and implement APIs by eliminating the need to produce ad hoc collections APIs. 
Fosters software reuse by providing a standard interface for collections and algorithms to manipulate them. 
The collections framework consists of: 

Collection Interfaces - Represent different types of collections, such as sets, lists and maps. These interfaces form the basis of the framework. 
General-purpose Implementations - Primary implementations of the collection interfaces. 
Legacy Implementations - The collection classes from earlier releases, Vector and Hashtable, have been retrofitted to implement the collection interfaces. 
Special-purpose Implementations - Implementations designed for use in special situations. These implementations display nonstandard performance characteristics, usage restrictions, or behavior. 
Concurrent Implementations - Implementations designed for highly concurrent use. 
Wrapper Implementations - Add functionality, such as synchronization, to other implementations. 
Convenience Implementations - High-performance "mini-implementations" of the collection interfaces. 
Abstract Implementations - Partial implementations of the collection interfaces to facilitate custom implementations. 
Algorithms - Static methods that perform useful functions on collections, such as sorting a list. 
Infrastructure - Interfaces that provide essential support for the collection interfaces. 
Array Utilities - Utility functions for arrays of primitives and reference objects. Not, strictly speaking, a part of the Collections Framework, this functionality was added to the Java platform at the same time and relies on some of the same infrastructure. 

anonymous ()

Re: ktranslator 0.3 или почему Java не панацея

Это к вопросу о перегрузке опреаторов... Хрен знает, какую семантику задумал разработчик. Для вектора это селектор, для словаря - мутатор. Бардак!

WFrag ★★★★ ()
Ответ на: Re: ktranslator 0.3 или почему Java не панацея от WFrag

Re: ktranslator 0.3 или почему Java не панацея

Это чисто плюсовые грабли. По-хорошему, [] и []= должны быть отдельными операторами. Однако их нет, поэтому для _любого_ контейнера [] является потенциальным мутатором.

int19h ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.