4770

GitHub - iwxyi/Qt-ShowyWidgets: [Qt] 个人开发的各种花里胡哨的Qt控件集合GitHub[Qt] 个人开发的各种花里胡哨的Qt控件集合. Contribute to iwxyi/Qt-ShowyWidgets development by creating an account on GitHub.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

4771

Hahaha y en a qui se sont bien amusés (notamment celui qui a fait les contrôles avec le curseur à flèche bleue). Le pire c'est que bien de ces animations seraient au final plus pratiques (mieux pensées, plus rapides) que celles des interfaces Apple.

Ça a l'air puissant Qt, je pensais pas qu'on pouvait faire des contrôles qui sortaient comme ça de la fenêtre, soient pleinement transparents et tout 🤔
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

4772

avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

4773

Haha.
Justement aujourd'hui j'avais un test préliminaire pour un entretien, c'est un truc sur Hackerrank, vous savez ces problèmes d'algorithmique, qui ne servent à rien dans la vraie programmation, mais pour vérifier que t'es un freshman manipulable à souhait. Et comme je postule pour une position web, ils me l'ont bloqué à Javascript.
Ouaip… j'ai un peu d'exp en algo, je me suis dit que j'allais me débrouiller.
Mais 3 problèmes à faire en 60 minutes. Avec une donnée volontairement super compliquée pour que tu ne retrouves pas le problème (relativement simple) équivalent.
Et là où j'ai un peu haï mon sort c'est que j'ai perdu presque 15 minutes sur le problème le plus simple une fois que j'avais écrit la solution optimisée au max, parce que ça pétait sur des datasets plus grands et le débogage était difficile vu que leurs tests sont faits côté serveur (tu peux juste faire des console.log).
Il se trouve qu'en javascript il y a une fonction .sort() pour trier les tableaux. Sauf que… ça les trie par ordre alphabétique, même si c'est des nombres (sans pour autant modifier le type).
Résultat:
[1, 5, 10, 7, 200].sort()
Ça donne, comme on pourrait s'y attendre :
[1, 10, 200, 5, 7]
J'ai eu le même souci plus tard avec les clés dans les tableaux, sauf que cette fois il fait la conversion en string :
var objet = {};
objet[1] = 123;
if (1 in objet) // false
if ('1' in objet) // true
Donc pour l'utiliser comme hashmap ou comme set, tu fais if (leNombre.toString() in tonSet).
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

4774

avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

4775

en fait les clefs des objets sont obligatoirement des chaînes, valable aussi pour les index des array

chez moi 1 in objet fonctionne très bien, sur firefox autant que dans node

perso pour tester la présence d'un champ j'ai plus l'habitude de faire objet[truc] === undefined
et la le mec il le pécho par le bras et il lui dit '

4776

Sauf que encore une fois, toujours tout convertir en chaine par défaut est absurde et source de 100% des problèmes de JS.

JS est le seul language qui fait ca comme ca.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

4777

que les noms des champs d'un objet soit obligatoirement des chaînes n'est pas absurde..

array n'est pas un type en js, c'est un objet ~standard, ça peux certes paraître surprenant que les index soient en réalité des chaînes mais ça n'implique pas d’effets de bord

concernant sort, présumer du comportement par défaut de sa fonction de comparaison -même si discutable- n'est pas la faute du langage, sort prend en argument une fonction custom de comparaison si il y a un doute

bref non, js ne converti pas tout en chaînes

> a = 1 ; b = 2 ; c = "3" ; d = 5 ; e = 100 ; > typeof (a+b) 'number' > typeof (a+c) 'string' > c > a true > c > d false > ( typeof (a+c) ) + a + b 'string12' > a + b + ( typeof (a+c) ) '3string' > a+c '13' > c+a '31' > c > e false > e - c 97 > c - e -97 > c + e '3100' > e + c '1003' > ar = [ 1, "7", 8, "100", 3, 42 ] [ 1, '7', 8, '100', 3, 42 ] > ar.sort() [ 1, '100', 3, 42, '7', 8 ] > ar.sort( ( a, b ) => a - b ) [ 1, 3, '7', 8, 42, '100' ] > ar[7] = 0 0 > 7 in ar true > ar[7] === undefined false > ar[7] 0 > ar['7'] 0 > Object.keys(ar) [ '0', '1', '2', '3', '4', '5', '7' ] > ar.length 8 > ar [ 1, 3, '7', 8, 42, '100', <1 empty item>, 0 ] > ar.sort( ( a, b ) => a - b ) [ 0, 1, 3, '7', 8, 42, '100', <1 empty item> ] > ar.includes(100) false > ar.includes('100') true > ar.includes('8') false
mais bon tout ça c'est du touchage de nouille, on ne mixe pas les types comme un barbare dans la vrai vie
et la le mec il le pécho par le bras et il lui dit '

4778

Brunni (./4771) :
Hahaha y en a qui se sont bien amusés (notamment celui qui a fait les contrôles avec le curseur à flèche bleue). Le pire c'est que bien de ces animations seraient au final plus pratiques (mieux pensées, plus rapides) que celles des interfaces Apple.

Ça a l'air puissant Qt, je pensais pas qu'on pouvait faire des contrôles qui sortaient comme ça de la fenêtre, soient pleinement transparents et tout 🤔
Du peu que j'ai testé, c'est puissant, mais mal intégré au reste de l'OS sad
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

4779

robinHood, [ 1, -5, 6, 7, 90, -3 ], les nombres ici ne sont pas des indexes mais des valeurs.

Le tri ne se fait pas sur l'index (ca n'a aucun sens) mais sur les valeurs.

Et non `[ 1, '7', 8, '100', 3, 42 ]` ca n'a aucun sens, mixer des types dans un tableau est la première erreur.

Et je ne ferrais aucun commentaire sur le reste qui est completement du non-sense.

1 + '2' == erreur, pas 3.

Pourquoi python est tres largement superieur a JS?

Ca:

[code]
>>> a = 2
>>> b = '3'
>>> print(a+b)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'
[/code]
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

4780

Brunni (./4773) :
Haha.
Justement aujourd'hui j'avais un test préliminaire pour un entretien, c'est un truc sur Hackerrank, vous savez ces problèmes d'algorithmique, qui ne servent à rien dans la vraie programmation, mais pour vérifier que t'es un freshman manipulable à souhait. Et comme je postule pour une position web, ils me l'ont bloqué à Javascript.
Je suis d'accord pour dire que l'algo sert finalement assez rarement, mais c'est tout de même bien utile. Je pense que quand tu n'en as pas fait, tu peux ne pas te rendre compte qu'il y a besoin d'avoir un algorithme un peu réfléchi, et encore moins que le problème a déjà été résolu.

Godzil > objectivement, tout est bien défini dans la doc JS… mais c'est clair qu'ils ont pris des choix qui vont à l'encontre du bon sens (et des autres langages) sans que rien ne soit fait pour te le signaler :/
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

4781

Oui, enfin parfaicement defini et documenté, heu... moui.

Certains comportements sont plus que bizzare.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

4782

Bizarres, oui, mais soit documentés soit non définis dans la norme. Mais je ne trouve pas que ça les rende plus pertinents pour autant (un peu comme les objets qui ont l’odeur de hashmap, ont le goût des hahsmap, miment le comportement des hashmap mais ne sont pas des hashmap).
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

4783

> robinHood, [ 1, -5, 6, 7, 90, -3 ], les nombres ici ne sont pas des indexes mais des valeurs.

merci ! j'ai commencé il y à deux jours, un peu perdu encore =^)

> Le tri ne se fait pas sur l'index (ca n'a aucun sens) mais sur les valeurs.

qui parle de trier les index ?
(mais sinon pour un array ils seront naturellement classés, pour un objet non, c'est libre suivant l'implémentation

> ca n'a aucun sens, mixer des types dans un tableau est la première erreur.

c'est ce que j'ai dis on ne mixe pas les types comme un barbare dans la vrai vie ...

mais bon l'un dans l'autre, si, dans une majorité des cas les tableaux contiendrons des objets complexes, qui seront eux plus ou moins remplis, avec des variations de champs, plusieurs manières possibles de stocker les valeurs suivant celles-ci etc, globalement assimilable à des types différents

ensuite suivant les sources de données et autres rien n'est choquant dans le fait de remplir des tableaux avec ce que l'on veux,
également tu peux très bien imaginer utiliser un array genre [ id, label, prix, texte ], rien de plus classique ..

bref c'est du stockage de donnée on en fait ce que l'on veut comme l'on veut

si tu veux des tableaux typés, javascript le propose aussi, en attendant les array classiques sont des array de pointeurs vers n'importe quoi, c'est tout, et c'est très bien comme ça.

> Pourquoi python est pour moi tres largement superieur a JS?
fixed'

donc pour résumer ton propos : gnagna typage fort

pour moi, js rulez car en 25 lignes sans dépendances je streame une url et en manipule les data
const https = require('https'); const readline = require('readline'); const u = undefined ; const uri = 'https://people.sc.fsu.edu/~jburkardt/data/csv/deniro.csv' ; https.get( uri, stream => { let out = {} ; readline.createInterface( { input: stream } ) .on( 'line', line => { const data = line.split(',').map( string => string.trim() ) ; const [ year, score, title ] = data ; if( data.length !== 3 || isNaN( year ) || year < 1900 || year > 2050 ) return // bad line or header one if( out[ year ] === u ) out[ year ] = [] ; out[ year ].push( [ score, title ] ) ; } ) .on( 'close', () => { for ( const year of Object.keys( out ) ) // each years out[ year ].sort( ( a, b ) => b[0] - a[0] ) ; // order by score console.log( out ) ; } ) ; } ) ;
et la le mec il le pécho par le bras et il lui dit '

4784

1661371734415-7098c7a6-d0bc-47cd-9a79-6c379621fdbd.webp
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

4785

Délicieux grin

4786

avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

4787

Tout ça n'arriverait pas s'il avait un nom américain et faisait son cours en anglais embarrassed
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

4788

en terme d'écologie, le débat est clos le C l'emporte trigni
(et perso, je code qu'en C et en Asm, donc je peut pas faire mieux pour la planète cheeky )

4789

Les exemples pris ne sont quand même pas super représentatifs… les langages qui ont un chargement au démarrage sont largement défavorisés.
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

4790

Oui ce benchmark est un peu foireux
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

4791

Flan > tu dis ça seulement parce que le Python est en bas du classement embarrassed
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

4792

Et en plus c’est pas représentatif, parce que sur ses machines Python est chargé en permanence embarrassed

4793

Zerosquare (./4791) :
Flan > tu dis ça seulement parce que le Python est en bas du classement embarrassed

Folco (./4792) :
Et en plus c’est pas représentatif, parce que sur ses machines Python est chargé en permanence embarrassed
grin

trioui

(sérieusement, ça fait quand même assez bâclé comme travail)
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

4794

J'ai pas regardé la méthodologie mais c'est sûr que si c'est sur de petits processus c'est pas représentatif je crois. Pas mal de processus énergivores sont exécutés pendant de longues heures. Il faudrait prendre en compte les 2, ou comparer ce qui est comparable, donc avec plusieurs catégories. Et là il y a des langages qui seront très clairement supérieurs à d'autres dans certaines tâches.

Puis après il faut aussi compter le temps pour développer, qui consomme de l'huile de coude et aussi une énergie significative si on est en maintenance continue. Tout ça c'est très difficile à calculer.
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

4795

Disons que les programmes de référence sont tirés du "benchmark game", qui est loin d'être parfait. Il est sûr que tous les langages n'ont pas une communauté aussi forte et intéressée par l'optimisation. Mais après il est indéniable qu'il y en gros 3 familles de langages avec pour ordre de performance:
- Les langage systèmes avec un runtime quasi inexistant et un contrôle presque total (C, C++, Rust, ...)
- Les langages avec un runtime mais un typage statique (Java, C#, Go, ...)
- Les Langages de script dynamiques (Python, JavaScript, Ruby, ...)

Le fait que Python ne soit pas taillé pour les performance brutes n'a rien de nouveau, c'est pas pour rien que la plupart des calcul requérant de la puissance se fait au moyen de bibliothèques natives. Ça n'a rien de grave il faut juste savoir quel langage utiliser pour quoi.
avatar

4796

- Les langage systèmes avec un runtime quasi inexistant

C++, runtime quasi inexistant? Hmm.
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

4797

Comparé aux langages de la seconde catégorie qui ont généralement un Tracing Garbage Collector, oui, d'autant plus si il est en mode freestanding.
avatar

4798

Le C++ moderne n'a plus grand chose a voir avec le C++98...
Surtout la gestion de la mémoire, lest "UniquePtr"/"SharedPtr" & co, on est plus tres loin en terme de memory management.

Mais ca ne change pas que le benchmark en question est foireux, la méthodologie est apriori foireuse, et le papier ne donne quasiment aucune infos, et certains résultats sont bizzare (genre TypeScript vs Javascript)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

4799

Uther (./4795) :
Disons que les programmes de référence sont tirés du "benchmark game", qui est loin d'être parfait.

Dans ce cas précis, tu peux même aller encore plus loin et dire qu'il n'a aucun sens. Ça revient à tester des voitures sur un tour de piste de circuit pour en déduire leur comportement sur une traversée de la jungle.
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

4800

Ou l'inverse
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.