• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 01:46
CEST 07:46
KST 14:46
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Serral wins HomeStory Cup 296Serral wins Maestros of the Game 243ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12
Community News
BSL Season 22 Full Overview & Conclusion7BSL Season 22 Full Overview & Conclusion7Weekly Cups (June 29-July 5): Solar Doubles0MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon445.0.16 Hotfix (June 30) - Balance + Bug Fixes40
StarCraft 2
General
Serral wins HomeStory Cup 29 Serral wins Maestros of the Game 2 Reynor: GSL Loss Wasn't About Preparation Format 5.0.16 patch for SC2 goes live (8 worker start) What is your PC setup in 2026 for SCBW/SC2 ?
Tourneys
GSL CK #5 Race War WardiTV Summer Cup 2026 RSL Revival: Season 6 - Qualifiers and Main Event HomeStory Cup 29 Vespene Cup #1 — $300+ USD, July 10
Strategy
[G] Having the right mentality to improve
Custom Maps
New Map Maker - Looking for Advice - Love or Hate Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 534 Burning Evacuation Mutation # 533 Die Together Mutation # 532 Nuclear Family
Brood War
General
Pros Debate: Zerg Unfairly Nerfed? (ASL S22 map) BSL Season 22 Full Overview & Conclusion BGH Auto Balance -> http://bghmmr.eu/ BW General Discussion ASL22 General Discussion
Tourneys
[ASL22] Wildcard Qualifier IPSL Spring 2026 Top 4! [Megathread] Daily Proleagues CSLAN 4 is Coming!
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers Creating a full chart of Zerg builds Relatively freeroll strategies
Other Games
General Games
Stormgate/Frost Giant Megathread General RTS Discussion Thread Path of Exile Summer Games Done Quick 2026! Nintendo Switch Thread
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
NeO.D_StephenKing vs This Guy From 1 Million Dance TL Mafia Community Thread TL Mafia Power Rank Vanilla Mini Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread UK Politics Mega-thread YouTube Thread Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club The HerO Fan Club!
Media & Entertainment
Movie Discussion! Anime Discussion Thread Series you have seen recently...
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Tennis[sport] Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
Simple Questions Simple Answers FPS when play League Of Legend on laptop How to clean a TTe Thermaltake keyboard?
TL Community
The Automated Ban List
Blogs
Major Shifts in the Gaming I…
TrAiDoS
An Exploration of th…
waywardstrategy
Gauntlet SC2: A Retrospectiv…
Ctone23
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Evil Gacha Games and the…
ffswowsucks
StarCraft improvement
iopq
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6707 users

The Big Programming Thread - Page 139

Forum Index > General Forum
Post a Reply
Prev 1 137 138 139 140 141 1032 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
typedef struct
Profile Joined January 2011
United States84 Posts
Last Edited: 2012-05-29 19:07:18
May 29 2012 19:00 GMT
#2761
On May 30 2012 03:43 gyth wrote:
Show nested quote +
On May 30 2012 01:26 typedef struct wrote:
This debate says a lot about object-oriented programming in general.

It isn't fair to indict OOP based on how C++/java tacked on their buzzword support.


I was referring to OOP in general, not any particular language. Earlier in the thread people were arguing against getters/setters because they're not OOP. In "perfect" OOP, classes expose behavior and hide state. Getters/setters break this, but are still needed for any non-trivial OOP.
snively
Profile Blog Joined August 2011
United States1159 Posts
May 29 2012 21:16 GMT
#2762
HOLY crapola ive started a flamewar

im sorry guys, i didnt know T_T
My religion is Starcraft
PachaL
Profile Joined May 2012
Canada16 Posts
May 29 2012 22:35 GMT
#2763
Hello everyone.
I am trying to write an iPad app that reads/writes to an excel document. From what I have read, there is no library that will allow me to do this, but there are a couple of alternative ways:

1) I could use the app to write to a .csv file and then open that in excel. The problem with this is that the excel file has many 'sheets', and each .csv file can only hold one sheet.

2) I could use the app to write to a Google Docs file, then somehow read that file and update the original excel file. This seems complicated though.

I know neither of these is ideal, but iPads and Windows computers are what I have to work with.

I'm just looking for what you guys think the better option is, or if you have one of your own. Thanks.
Former Socom 2 player
Millitron
Profile Blog Joined August 2010
United States2611 Posts
May 29 2012 22:38 GMT
#2764
Speaking of heated debate topics, why is GO TO considered such a bad feature for a language to have?

I mean, I get that if you are completely careless with it, you can access memory that hasn't been allocated for your program, but it's extremely hard to screw up that bad. You almost have to force it to happen.

The thing is though, GO TO provides an effective way of exiting complex control structures. It is a gigantic pain to try to get a large group of nested for-loops to terminate early without GO TO, but with GO TO, it can be done with the addition of a single if-statement.

I was making a Turing Machine simulator for a class I was taking. The simulator was written in Java. The state of the machine ended up being stored in a 4D array, meaning it had to be accessed by a nesting of for-loops. It was such a pain to break out of those loops without GO TO.
Who called in the fleet?
fabiano
Profile Blog Joined August 2009
Brazil4644 Posts
May 29 2012 22:42 GMT
#2765
I think that one reason is that if you have to resort to goto then your code isn't written very well and there is probably (not certainly) a cleaner/safer way to do so. At least that's what I've been taught.
"When the geyser died, a probe came out" - SirJolt
tofucake
Profile Blog Joined October 2009
Hyrule19228 Posts
May 29 2012 22:51 GMT
#2766
On May 30 2012 07:35 PachaL wrote:
Hello everyone.
I am trying to write an iPad app that reads/writes to an excel document. From what I have read, there is no library that will allow me to do this, but there are a couple of alternative ways:

1) I could use the app to write to a .csv file and then open that in excel. The problem with this is that the excel file has many 'sheets', and each .csv file can only hold one sheet.

2) I could use the app to write to a Google Docs file, then somehow read that file and update the original excel file. This seems complicated though.

I know neither of these is ideal, but iPads and Windows computers are what I have to work with.

I'm just looking for what you guys think the better option is, or if you have one of your own. Thanks.

You can use the XML format, which supports multiple sheets, all styling and formatting, and is compatible with Excel, OpenOffice, and GoogleDocs.
Liquipediaasante sana squash banana
alwinuz
Profile Joined September 2011
Netherlands77 Posts
May 29 2012 22:52 GMT
#2767
@PachaL
Another option is to combine your app with a web backend. There are many libraries to read/write excel files on the webserver. Then you can use whatever language and libary you want. You have the extra complexity for the communication between app and sever though.

@Millitron
In machine code, every if and loop are essentially GOTO's.
The problem with GOTO is that it makes it easy to write complicated spaghetti-code. Then the control flow is hard to figure out.
If you have 4 nested loops in one function, firstly I'd refactor that into smaller functions. The code is then easier to follow and more self-documented.
Second, maybe you could use a 1D array with classes/objects instead of a 4D array. Then move some code to those classes.
PachaL
Profile Joined May 2012
Canada16 Posts
May 29 2012 23:00 GMT
#2768
Thanks to both of you!
Former Socom 2 player
RoyGBiv_13
Profile Blog Joined August 2010
United States1275 Posts
May 29 2012 23:15 GMT
#2769
On May 30 2012 07:38 Millitron wrote:
Speaking of heated debate topics, why is GO TO considered such a bad feature for a language to have?

I mean, I get that if you are completely careless with it, you can access memory that hasn't been allocated for your program, but it's extremely hard to screw up that bad. You almost have to force it to happen.

The thing is though, GO TO provides an effective way of exiting complex control structures. It is a gigantic pain to try to get a large group of nested for-loops to terminate early without GO TO, but with GO TO, it can be done with the addition of a single if-statement.

I was making a Turing Machine simulator for a class I was taking. The simulator was written in Java. The state of the machine ended up being stored in a 4D array, meaning it had to be accessed by a nesting of for-loops. It was such a pain to break out of those loops without GO TO.


Work for a company that builds a C/C++ compiler. Here is my chiming in on why getters/setters is bad from a performance standpoint (thus design), and also why you should be glad GOTO has been wiped.

These practices are not mainstream, and have for the most part been purged from the global corporate and open source code base, and for a reason! It is dismal that getters/setters is being snuck back in by high school CS teachers and design by committee curriculum. (I do not mean that any getter or setter is bad design, just that ALL classes MUST have getters/setters, and ALL variables MUST be private)

Lets talk performance. Ill start with GOTO because its an easy target:
Back in ye olden BASIC times, GOTO's were the go to (heh) method for program flow. This was alright, and did not typically affect speed of computations nor code size in any significant manner, because the code assembled almost directly into its literal machine code translation, with no optimizations. Then came Dennis Ritchie and C.

A compiled language will look almost nothing like itself when turned into machine code. Most notably is the inclusion of the stack and functions. Function calls replaced the LABEL A -> GOTO B -> GOTO A spaghetti by including the address of the branch to instruction onto the stack, and branching to the stack popping upon returning form a function. This is incredibly faster as a processor optimized for branch prediction would almost always have the next instruction loaded into the cache, compared to the GOTO method.

This is one of many reasons why people tell you to never use GOTO under any circumstance. It may seem efficient at the time, but in reality, it provides even more complexity where well thought out program flow would be better to begin with.

For Getters/Setters, the compiler will optimize out getters and setters 90% of the time and turn them into inline functions, which will be effectively what you wanted to put in your code anyway. the other 10% of the time, in things such as generic classes (http://en.wikipedia.org/wiki/Template_(C%2B%2B) )or getting/setting 32-bit or 64 bit structs that would like to be optimized into registers , you will feel a significant performance hit by using this sort of code design. It is not poor design to completely neglect getters and setters from code, as they definitely have their design uses for abstraction.

It is poor design to write code that needlessly complicated where a more understandable alternative exists that is also closer to what the cpu actually does. It should be noted that I have encountered a non-zero number of bugs due to getters/setters.

Any sufficiently advanced technology is indistinguishable from magic
icystorage
Profile Blog Joined November 2008
Jollibee19350 Posts
May 30 2012 00:39 GMT
#2770
the getters suck flame war is oozing with nerdiness. i like it.
LiquidDota StaffAre you ready for a Miracle-? We are! The International 2017 Champions!
sluggaslamoo
Profile Blog Joined November 2009
Australia4494 Posts
May 30 2012 00:47 GMT
#2771
On May 30 2012 01:26 typedef struct wrote:
This debate says a lot about object-oriented programming in general. You'd never find this kind of disagreement about a fundamental concept in a functional language/style.

Moving the functionality into the class you are accessing (the technique getdatsu posted) is only the correct solution if said functionality is something the class is directly responsible for. If not, you're just adding more responsiblities to the class (in violation of the Single Responsiblity Principle).

Friend is almost never the answer, and if you're new to C++ you should forget that keyword exists (as evidenced by the fact that plenty of good OOP languages don't have it).

Providing a getter method is usually the best solution. You can see this by exploring one of the many well-written open-source OOP code bases out there. You will see getters/setters used, but not abused.

It's pretty easy to tell if you're overusing getters/setters, because you'll get f*cking sick of writing them and be tempted to just make everything public. If you run into this situation, you probably have too few classes for what you are trying to do, and should break some of them up.


C++/Java/C#.net are pretty bad OO languages and are based on the Strousup stream of OO which was terribly designed in the first place.

There are much better functional/OO hybrids out there these days, but even Smalltalk which was the original true OO language (yes Simula was the first OO but I'm talking about in a practical sense) works completely different to mainstream OO languages.

See Ruby as a great example of a fully OO language which is based on Allen Kay's OO principles rather than Strousup's OO principles.
Come play Android Netrunner - http://www.teamliquid.net/forum/viewmessage.php?topic_id=409008
sluggaslamoo
Profile Blog Joined November 2009
Australia4494 Posts
May 30 2012 00:51 GMT
#2772
On May 30 2012 08:15 RoyGBiv_13 wrote:
Show nested quote +
On May 30 2012 07:38 Millitron wrote:
Speaking of heated debate topics, why is GO TO considered such a bad feature for a language to have?

I mean, I get that if you are completely careless with it, you can access memory that hasn't been allocated for your program, but it's extremely hard to screw up that bad. You almost have to force it to happen.

The thing is though, GO TO provides an effective way of exiting complex control structures. It is a gigantic pain to try to get a large group of nested for-loops to terminate early without GO TO, but with GO TO, it can be done with the addition of a single if-statement.

I was making a Turing Machine simulator for a class I was taking. The simulator was written in Java. The state of the machine ended up being stored in a 4D array, meaning it had to be accessed by a nesting of for-loops. It was such a pain to break out of those loops without GO TO.


Work for a company that builds a C/C++ compiler. Here is my chiming in on why getters/setters is bad from a performance standpoint (thus design), and also why you should be glad GOTO has been wiped.

These practices are not mainstream, and have for the most part been purged from the global corporate and open source code base, and for a reason! It is dismal that getters/setters is being snuck back in by high school CS teachers and design by committee curriculum. (I do not mean that any getter or setter is bad design, just that ALL classes MUST have getters/setters, and ALL variables MUST be private)

Lets talk performance. Ill start with GOTO because its an easy target:
Back in ye olden BASIC times, GOTO's were the go to (heh) method for program flow. This was alright, and did not typically affect speed of computations nor code size in any significant manner, because the code assembled almost directly into its literal machine code translation, with no optimizations. Then came Dennis Ritchie and C.

A compiled language will look almost nothing like itself when turned into machine code. Most notably is the inclusion of the stack and functions. Function calls replaced the LABEL A -> GOTO B -> GOTO A spaghetti by including the address of the branch to instruction onto the stack, and branching to the stack popping upon returning form a function. This is incredibly faster as a processor optimized for branch prediction would almost always have the next instruction loaded into the cache, compared to the GOTO method.

This is one of many reasons why people tell you to never use GOTO under any circumstance. It may seem efficient at the time, but in reality, it provides even more complexity where well thought out program flow would be better to begin with.

For Getters/Setters, the compiler will optimize out getters and setters 90% of the time and turn them into inline functions, which will be effectively what you wanted to put in your code anyway. the other 10% of the time, in things such as generic classes (http://en.wikipedia.org/wiki/Template_(C%2B%2B) )or getting/setting 32-bit or 64 bit structs that would like to be optimized into registers , you will feel a significant performance hit by using this sort of code design. It is not poor design to completely neglect getters and setters from code, as they definitely have their design uses for abstraction.

It is poor design to write code that needlessly complicated where a more understandable alternative exists that is also closer to what the cpu actually does. It should be noted that I have encountered a non-zero number of bugs due to getters/setters.



I agree, but tl;dr there was a new movement to have only one entry-point and one-exit point in blocks code. Dijkstra wrote an article called "goto statement considered harmful" (which due to its success, spawned a whole lot of elitists to create similar articles in the same vein but stupid) which championed the "structured programming" movement. Basically he said use functions and procedures rather than goto statements because goto statements create spaghetti code.
Come play Android Netrunner - http://www.teamliquid.net/forum/viewmessage.php?topic_id=409008
hacklebeast
Profile Blog Joined April 2010
United States5090 Posts
May 30 2012 01:12 GMT
#2773
Any suggestions for a c++ compiler? I don't need anything special, just something that works and is free (at least i'm assuming there are free ones beyond trial periods). I could just go down the list of them on wikipedia, but I figure asking TL is better than guess and check.
Protoss: Best, Paralyze, Jangbi, Nal_Ra || Terran: Oov, Boxer, Fantasy, Hiya|| Zerg: Yellow, Zero
typedef struct
Profile Joined January 2011
United States84 Posts
May 30 2012 01:55 GMT
#2774
Here ya go: Visual C++ 2010 Express
Herper
Profile Joined January 2011
501 Posts
May 30 2012 02:00 GMT
#2775
LLVM/Clang is another one
Zeke50100
Profile Blog Joined February 2010
United States2220 Posts
May 30 2012 02:45 GMT
#2776
On May 30 2012 10:12 hacklebeast wrote:
Any suggestions for a c++ compiler? I don't need anything special, just something that works and is free (at least i'm assuming there are free ones beyond trial periods). I could just go down the list of them on wikipedia, but I figure asking TL is better than guess and check.


As mentioned before, Microsoft Visual Studio C++ Express is probably the best, free IDE available for C++ on Windows; however, it essentially only compiles for Windows. If you're specifically looking for a multi-platform compiler, I would recommend Qt.
sluggaslamoo
Profile Blog Joined November 2009
Australia4494 Posts
Last Edited: 2012-05-30 04:28:32
May 30 2012 04:26 GMT
#2777
On May 30 2012 10:12 hacklebeast wrote:
Any suggestions for a c++ compiler? I don't need anything special, just something that works and is free (at least i'm assuming there are free ones beyond trial periods). I could just go down the list of them on wikipedia, but I figure asking TL is better than guess and check.


Get codeblocks, its more lightweight than VC++ and crossplatform and easy to use. Although I wouldn't recommend it for anything other than for C/C++. You can even get a portable version that you can just stick on usb.

It uses the gnu gcc compiler.
Come play Android Netrunner - http://www.teamliquid.net/forum/viewmessage.php?topic_id=409008
Millitron
Profile Blog Joined August 2010
United States2611 Posts
May 30 2012 17:41 GMT
#2778
On May 30 2012 11:45 Zeke50100 wrote:
Show nested quote +
On May 30 2012 10:12 hacklebeast wrote:
Any suggestions for a c++ compiler? I don't need anything special, just something that works and is free (at least i'm assuming there are free ones beyond trial periods). I could just go down the list of them on wikipedia, but I figure asking TL is better than guess and check.


As mentioned before, Microsoft Visual Studio C++ Express is probably the best, free IDE available for C++ on Windows; however, it essentially only compiles for Windows. If you're specifically looking for a multi-platform compiler, I would recommend Qt.

There's also the Eclipse C++ plugin. It has all the nice features of Eclipse for Java, but for C++.
Who called in the fleet?
ForgottenOne
Profile Joined August 2010
Romania236 Posts
May 31 2012 11:57 GMT
#2779
On May 30 2012 09:47 sluggaslamoo wrote:
C++/Java/C#.net are pretty bad OO languages and are based on the Strousup stream of OO which was terribly designed in the first place.

There are much better functional/OO hybrids out there these days, but even Smalltalk which was the original true OO language (yes Simula was the first OO but I'm talking about in a practical sense) works completely different to mainstream OO languages.

See Ruby as a great example of a fully OO language which is based on Allen Kay's OO principles rather than Strousup's OO principles.


Can you, please, point me to some good reads on these topics?
Born free, as free as the wind blows...
sluggaslamoo
Profile Blog Joined November 2009
Australia4494 Posts
May 31 2012 13:27 GMT
#2780
On May 31 2012 20:57 ForgottenOne wrote:
Show nested quote +
On May 30 2012 09:47 sluggaslamoo wrote:
C++/Java/C#.net are pretty bad OO languages and are based on the Strousup stream of OO which was terribly designed in the first place.

There are much better functional/OO hybrids out there these days, but even Smalltalk which was the original true OO language (yes Simula was the first OO but I'm talking about in a practical sense) works completely different to mainstream OO languages.

See Ruby as a great example of a fully OO language which is based on Allen Kay's OO principles rather than Strousup's OO principles.


Can you, please, point me to some good reads on these topics?


The conclusion I made is from years of reading lots of different books/articles/websites, trying many different languages, understanding paradigms, knowing about the guys who invented each language, designing my own languages with PEGs, etc. I don't think you will be able to find an article on what I said specifically.

The best starter point is to look up Alan Kay and Bjarne Strousup, the inventors of Smalltalk and C++ respectively.


If I were to come up with a very brief reason to my conclusion,

Alan Kay was the guy who championed OO in the first place, then Strousup created C++, and Kay thinks [in the most euphemistic way possible] C++ was "not what he had in mind".

Java is based on C++, but tries to simply/fix C++ by constricting the paradigm, for example many interfaces/one concrete class inheritance, in order to avoid multiple inheritance problems like cyclic inheritance. IMO this is one of the really terrible fixes Java did to get around those problems.

C# used to be called J#, until Sun didn't want Delegates to be a part of Java. So Microsoft branched off and created C#, which basically started off as Java, with Delegates. Being based on Java, its only a marginal improvement on its older brother, when compared to other languages.

These 3 languages is what I dub as part of the "Strousup" stream of OO, the one most people know and understand. The less understood form OO comes from Alan Kay, the inventor of OO and Smalltalk. Its no surprise, that OOP makes a ton more sense when using Smalltalk than when using C++. What Java is to C++, Ruby is to Smalltalk. Matz was inspired by a lot of Kay's principles when he invented Ruby.

I don't rate a language by its features, I rate it by its foundation, when a language has a good foundation, it doesn't need a million features to make it good. You can polish a turd, it still doesn't stop it from being a turd.
Come play Android Netrunner - http://www.teamliquid.net/forum/viewmessage.php?topic_id=409008
Prev 1 137 138 139 140 141 1032 Next
Please log in or register to reply.
Live Events Refresh
Next event in 5h 14m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
WinterStarcraft666
oGsTOP 184
StarCraft: Brood War
Rain 6650
GuemChi 2794
Tasteless 204
ZergMaN 25
Bale 18
Noble 13
IntoTheRainbow 9
Icarus 8
NaDa 6
League of Legends
JimRising 642
Counter-Strike
summit1g8146
m0e_tv493
Other Games
C9.Mang0317
NeuroSwarm129
Nina39
Organizations
Other Games
gamesdonequick2042
BasetradeTV215
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 15 non-featured ]
StarCraft 2
• Berry_CruncH318
• practicex 24
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Azhi_Dahaki25
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Rush1291
• Stunt549
Upcoming Events
WardiTV Weekly
5h 14m
The PondCast
1d 4h
Replay Cast
2 days
CrankTV Team League
2 days
Replay Cast
3 days
CrankTV Team League
3 days
Replay Cast
3 days
RSL Revival
4 days
Clem vs Lambo
Scarlett vs Cure
CranKy Ducklings
4 days
IPSL
4 days
Dragon vs Hawk
[ Show More ]
RSL Revival
5 days
Classic vs Trap
herO vs SHIN
Sparkling Tuna Cup
5 days
IPSL
5 days
Bonyth vs Ret
WardiTV Weekly
6 days
Monday Night Weeklies
6 days
Liquipedia Results

Completed

YSL S3
HSC XXIX
Eternal Conflict S2 E2

Ongoing

IPSL Spring 2026
Acropolis #4
CSL 2026 Summer (S21)
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
SCTL 2026 Spring
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026

Upcoming

Escore Tournament S3: W3
ASL S22 SEASON OPEN Day 1
Escore Tournament S3: W4
ASL S22 SEASON OPEN Day 2
Escore Tournament S3: W5
CSLAN 4
Blizzard Classic Cup 2026
HSC XXX
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E3
Logitech G Connect 2026
StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.