Alexander Shvedov

@controlflow

JetBrains managed languages team lead | Mostly on C# · CLR · IDEs · type systems | Personal opinions only

Moscow
ಮೇ 2009 ಸಮಯದಲ್ಲಿ ಸೇರಿದ್ದಾರೆ

@controlflow ತಡೆಹಿಡಿಯಲಾಗಿದೆ

ನೀವು ಖಚಿತವಾಗಿಯೂ ಈ ಟ್ವೀಟ್‌ಗಳನ್ನು ನೋಡಲು ಬಯಸುವಿರಾ? ಟ್ವೀಟ್‌ಗಳನ್ನು ನೋಡುವುದು @controlflow ಅವರನ್ನು ತಡೆತೆರವುಗೊಳಿಸುವುದಿಲ್ಲ.

  1. The only good thing — those hacks are mostly used in unfinished code parsing. But still: 'imperative code allowed' == 'hack all the things'!

  2. 'ContainsDiagnostics' just returns 'true' if syntax node has "errors". What kind of errors? How many? Located where in the node? Who cares

  3. - Roslyn's C# parser has lot of logic dependent on 'parsedNode.ContainsDiagnostics', that's kinda insane

  4. The more I work with manually-written parsers, the more I appreciate parser gens — just because you can't do hacks in declarative grammar

  5. number of computers 1900: 0 1950: 100 1980: 10000 1990: 1000000 2000: 1000000000 2010: 1000000000000000000 2020: 1 2030: 1 2040: 1 2050: 1

  6. Alexander Shvedov ಹಿಂಬಾಲಿಸಿದ್ದಾರೆ ಮತ್ತು
    • @deftcode

      Software author and ruleweaver extraordinaire

  7. Contextual keywords — pure hell :|

  8. >5 hours of parser dev and debugging. Now I think that the Java breaking change because of 'assert' keyword introduction is not that bad

  9. "Can everyone read the code on the slide?" "Not really." <enlarges text> "Better?" "No, it's still Scala."

  10. and it looks like 'x is null' can be evaluated to 'true' with non-null 'x' of type that overrides 'object.Equals' so that it always ret true

  11. hm, C# 7.0 expression 'obj is 42' do not actually checks that 'obj' is of type 'int', that's a bit unexpected :/

  12. Is there a meme similar to «Вжух» for English-speaking audience? :/

  13. — Positional stuff always sucks, tuples are no good without component names. — But we all use positional notation when representing numbers…

  14. Remember Roslyn's 'code-aware libraries' idea? Do we have good examples of popular .NET libraries utilizing this idea of library+analyzers?

  15. I mean C# 7.0 is overflowing my brain's capacity. I wonder if it even possible to do quality tooling around that complex language

  16. That's really confusing: I really like some C# 7.0 features from user's POV. From IDE developer POV it is clear we all doomed

  17. C# 7.0 is full of "expressions" that are not really "expressions", you can't write them anywhere "expression" is expected

  18. Yes, 'var (a, b) = …;' is a form of 'x = y;', not 'var x = y;'. This left hand side 'var (a, b)' thing is a 'declaration expression' :|

  19. This works because 'var a = …;' is a declaration statement, while 'var (a, b) = …;' is a simple statement from assignment expression

  20. C# 7.0 still scares me, tuple deconstructions are allowed where variable declarations are disallowed in C/C++/Java:

ಲೋಡಿಂಗ್ ಸಮಯ ಸ್ವಲ್ಪ ತೆಗೆದುಕೊಳ್ಳುತ್ತಿರುವಂತೆನಿಸುತ್ತದೆ.

Twitter ಸಾಮರ್ಥ್ಯ ಮೀರಿರಬಹುದು ಅಥವಾ ಕ್ಷಣಿಕವಾದ ತೊಂದರೆಯನ್ನು ಅನುಭವಿಸುತ್ತಿರಬಹುದು. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ ಅಥವಾ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗೆ Twitter ಸ್ಥಿತಿಗೆ ಭೇಟಿ ನೀಡಿ.

    ಇದನ್ನೂ ಸಹ ನೀವು ಇಷ್ಟಪಡಬಹುದು

    ·