Youtube comments of xybersurfer (@xybersurfer).

  1. 1300
  2. 201
  3. 162
  4. 90
  5. 89
  6. 78
  7. 73
  8. 68
  9. 65
  10. 59
  11. 55
  12. 51
  13. 48
  14. 42
  15. 41
  16. 38
  17. 37
  18. 37
  19. 36
  20. 36
  21. 33
  22. 32
  23. 32
  24. 31
  25. 31
  26. 30
  27. 30
  28. 29
  29. 29
  30. 29
  31. 26
  32. 26
  33. 25
  34. 25
  35. 25
  36. 23
  37. 23
  38. 22
  39. 21
  40. 20
  41. 20
  42. 20
  43. 19
  44. 19
  45. 18
  46. 18
  47. 18
  48. 18
  49. 18
  50. 17
  51. 17
  52. 17
  53. 17
  54. 17
  55. 17
  56. 17
  57. 16
  58. 16
  59. 16
  60. 16
  61. 15
  62. 15
  63. 15
  64. 15
  65. 14
  66. 14
  67. 14
  68. 14
  69. 13
  70. 13
  71. 13
  72. you don't fully explore your opponent's point of view. where to begin: 0:19 "Linux is only free if your time has no value" is actually a quote by Jamie Zawinski around the year 1998 3:02 this is a valid point. most users don't care how the operating system works. but that doesn't mean that it doesn't matter. someone more tech savy will have to solve problems for them, and they will be faced with the mess swepped under the rug. these tech savy people are also the first to try a new operating system. and if they don't like what they see then they won't spread a good word. 4:27 i disagree. a significant amount of time is not only required when using advanced distros. when you need to troubleshoot something you will quickly find yourself at the command line and in config files scattered throughout the system, at which point differences between distros start to fall away. 4:56 you don't have to create a microsoft account during the windows installation, which makes the rest of your tangent irrelevant 5:20 i think that as an enthousiast you may only be familiar with elite distros. and you may have a false perception about how easy to use "user friendly" distros are. i'm not denying that there may be a huge different. i'm saying that your "measurement" has been skewed. unlike you, i don't think that people are comparing only elite distros with windows. the fact that you assume this to me again shows that your "measurement" has been skewed towards normalizing elite distros 6:18 "newbs", "elite", "normies". do you hear yourself? your pride is blinding you despite having said that you want to understand your opponent's point of view 6:25 it just works and it never breaks down. i think you need to spend more time with "beginner" distros. there is always something that doesn't work. also in Linux Mint. then innevitable something will break after an update and there is no tooling to simply rollback (and then it's command line and config file time again) 6:30 i think that knowing that the end users are only in the browsers creates a false sense of security for you. it's not the only type of users to who user friendliness matters. 7:00 everyone losing time because they get hacked all the time is a strawman 7:11 you can't claim to argue about the value of time from your opponent's perspective and then use your own perspective as a hobbyists. 8:41 again the patronising TechLead by claiming he just plays candycrush on windows. is your hobby really linux, or is your hobby to feel superior? you come across as very disingenuous. my problem with config files and the command line as a user interface is that are not that open to exploration. it's fair to say that you learn more about how your computer works by using linux, but the problem is that you learn a lot more about how linux works. in my opinion more effort should be spend on making linux stay out of the way. linux caters to the hobbyists and to users that don't want to change anything, but nothing inbetween.
    13
  73. 12
  74. 12
  75. 11
  76. 11
  77. 11
  78. 10
  79. 10
  80. 10
  81. 10
  82. 10
  83. 10
  84. 10
  85. 10
  86. 10
  87. 10
  88. 10
  89. 9
  90. 9
  91. 9
  92. 9
  93. 9
  94. 9
  95. 9
  96. 9
  97. 9
  98. 9
  99. 9
  100. 9
  101. 9
  102. 9
  103. 9
  104. 9
  105. 9
  106. 8
  107. 8
  108. 8
  109. 8
  110. 8
  111. 8
  112. 8
  113. 8
  114. 8
  115. 8
  116. 8
  117. 8
  118. 8
  119. 8
  120. 8
  121. 8
  122. 8
  123. 8
  124. 7
  125. 7
  126. 7
  127. 7
  128. 7
  129. 7
  130. 7
  131. 7
  132. 7
  133. 7
  134. 7
  135. 7
  136. 7
  137. 7
  138. 7
  139. 7
  140. 7
  141. 7
  142. 7
  143. 7
  144. 7
  145. 7
  146. 7
  147. 7
  148. 7
  149. 7
  150. 7
  151. 7
  152. 7
  153. 7
  154. 7
  155. 6
  156. 6
  157. 6
  158. 6
  159. 6
  160. 6
  161. 6
  162. 6
  163. 6
  164. 6
  165. 6
  166. 6
  167. 6
  168. 6
  169. 6
  170. 6
  171. 6
  172. 6
  173. 6
  174. 6
  175. 6
  176. 6
  177. 6
  178. 6
  179. 6
  180. 6
  181. 6
  182. 6
  183. 6
  184. 6
  185. 6
  186. 6
  187. 6
  188. 6
  189. 6
  190. 5
  191. 5
  192. 5
  193. 5
  194. 5
  195. 5
  196. 5
  197. 5
  198. 5
  199. 5
  200. 5
  201. 5
  202. 5
  203. 5
  204. 5
  205. 5
  206. 5
  207. 5
  208. 5
  209. 5
  210. 5
  211. 5
  212. 5
  213. 5
  214. 5
  215. 5
  216. 5
  217. 5
  218. 5
  219. 5
  220. 5
  221. 5
  222. 5
  223. 5
  224. 5
  225. 5
  226. 5
  227. 5
  228. 5
  229. 5
  230. 5
  231. 5
  232. 5
  233. 5
  234. 5
  235. 5
  236. 5
  237. 5
  238. 5
  239. 5
  240. 5
  241. 4
  242. 4
  243. 4
  244. 4
  245. 4
  246. 4
  247. 4
  248. 4
  249. 4
  250. 4
  251. 4
  252. 4
  253. 4
  254. 4
  255. 4
  256. 4
  257. 4
  258. 4
  259. 4
  260. 4
  261. 4
  262. 4
  263. 4
  264. 4
  265. 4
  266. 4
  267. 4
  268. 4
  269. 4
  270. 4
  271. 4
  272. 4
  273. 4
  274. 4
  275. 4
  276. 4
  277. 4
  278. 4
  279. 4
  280. 4
  281. 4
  282. 4
  283. 4
  284. 4
  285. 4
  286. 4
  287. 4
  288. 4
  289. 4
  290. 4
  291. 4
  292. 4
  293. 4
  294. 4
  295. 4
  296. 4
  297. 4
  298. 4
  299. 4
  300. 4
  301. 4
  302. 4
  303. 4
  304. 4
  305. 4
  306. 4
  307. 4
  308. 4
  309. 4
  310. 4
  311. 4
  312. 4
  313. 4
  314. 4
  315. 4
  316. 4
  317. 4
  318. 4
  319. 4
  320. 4
  321. 3
  322. 3
  323. 3
  324. 3
  325. 3
  326. 3
  327. 3
  328. 3
  329. 3
  330. 3
  331. 3
  332. 3
  333. 3
  334. 3
  335. 3
  336. 3
  337. 3
  338. 3
  339. 3
  340. 3
  341. 3
  342. 3
  343. 3
  344. 3
  345. 3
  346. 3
  347. 3
  348. 3
  349. 3
  350. 3
  351. 3
  352. 3
  353. 3
  354. 3
  355. 3
  356. 3
  357. 3
  358. 3
  359. 3
  360. 3
  361. 3
  362. 3
  363. 3
  364. 3
  365. 3
  366. 3
  367. 3
  368. 3
  369. 3
  370. 3
  371. 3
  372. 3
  373. 3
  374. 3
  375. 3
  376. 3
  377. 3
  378. 3
  379. 3
  380. 3
  381. 3
  382. 3
  383. 3
  384. 3
  385. 3
  386. 3
  387. 3
  388. 3
  389. 3
  390. 3
  391. 3
  392. 3
  393. 3
  394. 3
  395. 3
  396. 3
  397. 3
  398. 3
  399. 3
  400. 3
  401. 3
  402. 3
  403. 3
  404. 3
  405. 3
  406. 3
  407. 3
  408. 3
  409. 3
  410. 3
  411. 3
  412. 3
  413. 3
  414. 3
  415. 3
  416. 3
  417. 3
  418. 3
  419. 3
  420. 3
  421. 3
  422. 3
  423. 3
  424. 3
  425. 3
  426. 3
  427. 3
  428. 3
  429. 3
  430. 3
  431. 3
  432. 3
  433. 3
  434. 3
  435. 3
  436. 3
  437. 3
  438. 3
  439. 3
  440. 3
  441. 3
  442. 3
  443. 3
  444. 3
  445. 3
  446. 3
  447. 3
  448. 3
  449. 3
  450. 3
  451. 3
  452. 3
  453. 3
  454. 3
  455. 3
  456. 3
  457. 3
  458. 3
  459. 3
  460. 3
  461. 3
  462. 3
  463. 3
  464. 3
  465. 3
  466. 3
  467. 3
  468. 3
  469. 3
  470. 3
  471. 3
  472. 3
  473. 3
  474. 3
  475. 2
  476. 2
  477. 2
  478. 2
  479. 2
  480. 2
  481. 2
  482. 2
  483. 2
  484. 2
  485. 2
  486. 2
  487. 2
  488. 2
  489. 2
  490. 2
  491. 2
  492. 2
  493. 2
  494. 2
  495. 2
  496. 2
  497. 2
  498. 2
  499. 2
  500. 2
  501. 2
  502. 2
  503. 2
  504. 2
  505. 2
  506. 2
  507. 2
  508. 2
  509. 2
  510. 2
  511. 2
  512. 2
  513. 2
  514. 2
  515. 2
  516. 2
  517. 2
  518. 2
  519. 2
  520. 2
  521. 2
  522. 2
  523. 2
  524. 2
  525. 2
  526. 2
  527. 2
  528. 2
  529. 2
  530. 2
  531. 2
  532. 2
  533. 2
  534. 2
  535. 2
  536. 2
  537. 2
  538. 2
  539. 2
  540. 2
  541. 2
  542. 2
  543. 2
  544. 2
  545. 2
  546. 2
  547. 2
  548. 2
  549. 2
  550. 2
  551. 2
  552. 2
  553. 2
  554. 2
  555. 2
  556. 2
  557. 2
  558. 2
  559. 2
  560. 2
  561. 2
  562. 2
  563. 2
  564. 2
  565. 2
  566. 2
  567. 2
  568. 2
  569. 2
  570. 2
  571. 2
  572. 2
  573. 2
  574. 2
  575. 2
  576. 2
  577. 2
  578. 2
  579. 2
  580. 2
  581. 2
  582. 2
  583. 2
  584. 2
  585. 2
  586. 2
  587. 2
  588. 2
  589. 2
  590. 2
  591. 2
  592. 2
  593. 2
  594. 2
  595. 2
  596. 2
  597. 2
  598. 2
  599. 2
  600. 2
  601. 2
  602. 2
  603. 2
  604. 2
  605. 2
  606. 2
  607. 2
  608. 2
  609. 2
  610. 2
  611. 2
  612. 2
  613. 2
  614. 2
  615. 2
  616. 2
  617. 2
  618. 2
  619. 2
  620. 2
  621. 2
  622. 2
  623. 2
  624. 2
  625. 2
  626. 2
  627. 2
  628. maybe. although Zig, Java, C, assembly are all Imperative (stepwise). you might want to try a Functional programming language. that was a huge eye opener for me. especially: - lambda calculus / higher-order functions (declaring and using a function on the same line feels natural) - typically way less lines of code needed than - recursion (languages with tail call optimization are great, as they allow for endless recursion without blowing the stack) - how in theory each call is an expression that fits on 1 line that can be rewritten on the next line (like maths) - and how (usually) avoiding a global mutable state makes things more predictable - pipe operator - usually these languages have good type checking, in their compiler (the statically typed ones) - and a few more topics (not that many) it basically taught me that being productive, is a more interesting challenge than trying to go more low level. i'm mostly familiar with F# because it comes with .NET and Visual Studio Community (nice debugger) and i'm also a little bit familiar with Haskell. SQL queries (as discussed in this video) was also an eye opener for me, as it's queries are in a Declarative langage. which means that in theory you don't have to explain to the computer how to do something, but just what you want done (which is kind of unique). although this only works in a database (maybe things like LINQ-to-Objects in .NET are an exception that allow you to "query" your program's data structures), it's still useful because a database is at the center of many applications. speaking of databases, designing a database with an ER diagram was another eye opener for me, as it taught how data is organized in a simple and intuitive way (instead of trying to remember the all the normal forms). it taught me to quickly recognize design mistakes in databases. i love tools that allow me to draw a database and automatically generate the SQL commands that create it (my favorite is DeZign by Datanamic, but there are many others). Zig looks interesting too. haven't tried it myself, but i do see similarities to C which i am familiar with. i think assembly is interesting to see a few times to get an idea of how it typically works, but the problem is that it's not portable like higher/more-abstract languages like everything you listed and functional programming. it really depends on what you want to do though. i'm not self taught like you though, so good job on that. sorry for the long reply. programming is just a really interesting topic, and i didn't want to leave anything out.
    2
  629. 2
  630. 2
  631. 2
  632. 2
  633. 2
  634. 2
  635. 2
  636. 2
  637. 2
  638. 2
  639. 2
  640. 2
  641. 2
  642. 2
  643. 2
  644. 2
  645. 2
  646. 2
  647. 2
  648. 2
  649. 2
  650. 2
  651. 2
  652. 2
  653. 2
  654. 2
  655. 2
  656. 2
  657. 2
  658. 2
  659. 2
  660. 2
  661. 2
  662. 2
  663. 2
  664. 2
  665. 2
  666. 2
  667. 2
  668. 2
  669. 2
  670. 2
  671. 2
  672. 2
  673. 2
  674. 2
  675. 2
  676. 2
  677. 2
  678. 2
  679. 2
  680. 2
  681. 2
  682. 2
  683. 2
  684. 2
  685. 2
  686. 2
  687. 2
  688. 2
  689. 2
  690. 2
  691. 2
  692. 2
  693. 2
  694. 2
  695. 2
  696. 2
  697. 2
  698. 2
  699. 2
  700. 2
  701. 2
  702. 2
  703. 2
  704. 2
  705. 2
  706. 2
  707. 2
  708. 2
  709. 2
  710. 2
  711. 2
  712. 2
  713. 2
  714. 2
  715. 2
  716. 2
  717. 2
  718. 2
  719. 2
  720. 2
  721. 2
  722. 2
  723. 2
  724. 2
  725. 2
  726. 2
  727. 2
  728. 2
  729. 2
  730. 2
  731. 2
  732. 2
  733. 2
  734. 2
  735. 2
  736. 2
  737. 2
  738. 2
  739. 2
  740. 2
  741. 2
  742. 2
  743. 2
  744. 2
  745. 2
  746. 2
  747. 2
  748. 2
  749. 2
  750. 2
  751. 2
  752. 2
  753. 2
  754. 2
  755. 2
  756. 2
  757. 2
  758. 2
  759. 2
  760. 2
  761. 2
  762. 2
  763. 2
  764. 2
  765. 2
  766. 2
  767. 2
  768. 2
  769. 2
  770. 2
  771. 2
  772. 2
  773. 2
  774. 2
  775. 2
  776. 2
  777. 2
  778. 2
  779. 2
  780. 2
  781. 2
  782. 2
  783. 2
  784. 2
  785. 2
  786. 2
  787. 2
  788. 2
  789. 2
  790. 2
  791. 2
  792. 2
  793. 2
  794. 2
  795. 2
  796. 2
  797. 2
  798. 2
  799. 2
  800. 2
  801. 2
  802. 2
  803. 2
  804. 2
  805. 2
  806. 2
  807. 2
  808. 2
  809. 2
  810. 2
  811. 2
  812. 2
  813. 2
  814. 2
  815. 2
  816. 2
  817. 2
  818. 2
  819. 2
  820. 2
  821. 2
  822. 2
  823. 2
  824. 2
  825. 2
  826. 2
  827. 2
  828. 2
  829. 2
  830. 2
  831. 2
  832. 2
  833. 2
  834. 2
  835. 2
  836. 2
  837. 2
  838. 2
  839. 2
  840. 2
  841. 2
  842. 2
  843. 2
  844. 2
  845. 2
  846. 2
  847. 2
  848. 2
  849. 2
  850. 2
  851. 2
  852. 2
  853. 2
  854. 2
  855. 2
  856. 2
  857. 2
  858. 2
  859. 2
  860. 2
  861. 2
  862. 2
  863. 2
  864. 2
  865. 2
  866. 2
  867. 2
  868. 2
  869. 2
  870. 2
  871. 2
  872. 2
  873. 2
  874. 2
  875. 2
  876. 2
  877. 2
  878. 2
  879. 2
  880. 2
  881. 2
  882. 2
  883. 2
  884. 2
  885. 2
  886. 2
  887. 2
  888. 2
  889. 2
  890. 2
  891. 2
  892. 2
  893. 2
  894. 2
  895. 2
  896. 2
  897. 2
  898. 2
  899. 2
  900. 2
  901. 2
  902. 2
  903. 2
  904. 2
  905. 2
  906. 2
  907. 2
  908. 2
  909. 2
  910. 2
  911. 2
  912. 2
  913. 2
  914. 2
  915. 2
  916. 2
  917. 2
  918. 2
  919. 2
  920. 2
  921. 2
  922. 2
  923. 2
  924. 2
  925. 2
  926. 2
  927. 2
  928. 2
  929. 2
  930. 2
  931. 2
  932. 2
  933. 2
  934. 2
  935. 2
  936. 2
  937. 2
  938. 2
  939. 2
  940. 2
  941. 2
  942. 2
  943. 2
  944. 2
  945. 2
  946. 2
  947. 2
  948. 2
  949. 1
  950. 1
  951. 1
  952. 1
  953. 1
  954. 1
  955. 1
  956. 1
  957. 1
  958. 1
  959. 1
  960. 1
  961. 1
  962. 1
  963. 1
  964. 1
  965. 1
  966. 1
  967. 1
  968. 1
  969. 1
  970. 1
  971. 1
  972. 1
  973. 1
  974. 1
  975. 1
  976. 1
  977. 1
  978. 1
  979. 1
  980. 1
  981. 1
  982. 1
  983. 1
  984. 1
  985. 1
  986. 1
  987. 1
  988. 1
  989. 1
  990. 1
  991. 1
  992. 1
  993. 1
  994. 1
  995. 1
  996. 1
  997. 1
  998. 1
  999. 1
  1000. 1
  1001. 1
  1002. 1
  1003. 1
  1004. 1
  1005. 1
  1006. 1
  1007. 1
  1008. 1
  1009. 1
  1010. 1
  1011. 1
  1012. 1
  1013. 1
  1014. 1
  1015. 1
  1016. 1
  1017. 1
  1018. 1
  1019. 1
  1020. 1
  1021. 1
  1022. 1
  1023. 1
  1024. 1
  1025. 1
  1026. 1
  1027. 1
  1028. 1
  1029. 1
  1030. 1
  1031. 1
  1032. 1
  1033. 1
  1034. 1
  1035. 1
  1036. 1
  1037. 1
  1038. 1
  1039. 1
  1040. 1
  1041. 1
  1042. 1
  1043. 1
  1044. 1
  1045. 1
  1046. 1
  1047. 1
  1048. 1
  1049. 1
  1050. 1
  1051. 1
  1052. 1
  1053. 1
  1054. 1
  1055. 1
  1056. 1
  1057. 1
  1058. 1
  1059. 1
  1060. 1
  1061. 1
  1062. 1
  1063. 1
  1064. 1
  1065. 1
  1066. 1
  1067. 1
  1068. 1
  1069. 1
  1070. 1
  1071. 1
  1072. 1
  1073. 1
  1074. 1
  1075. 1
  1076. 1
  1077. 1
  1078. 1
  1079. 1
  1080. 1
  1081. 1
  1082. 1
  1083. 1
  1084. 1
  1085. 1
  1086. 1
  1087. 1
  1088. 1
  1089. 1
  1090. 1
  1091. no, don't start with a web language, because you will keep running into CSS (the web formatting language) issues once you start to want to do a bit more, because browsers don't always format things the same (especially Internet Explorer). and PHP is ugly. try C# or C++ - C# is easier - C++ is faster and is a systems programming language (can program operating systems and drivers, aircraft etc in it) - C++ teaches you more a bit more about the bare metal - C# also can be used to program webpages using ASP.NET (like PHP) - (the best/easiest IDE/Debugger/GUI designer) Visual Studio was made to work well with C# - C# allows you to get things up and running faster - C# the .NET libraries that come with C# are easier to use than the libraries that come with C++ - C# is basically a microsoft language so you get a bit stuck in the microsoft ecosystem (third party IDE's are not too great for it, and non microsoft tools tend to not work as smoothly) - the list goes on obviously... (Debuggers allow you to see what's happening in your program one step at a time) (IDEs allow you to edit compile and debug from within the same program) (GUI = graphical user interface. the part of a program the user sees and interacts with) i would begin with C# for an easy start. there is also JAVA which is very similar to C#, but given the choice, i would go with C# due to Visual Studio and the easier to use .NET libraries that come with it. everyone knows Visual Studio really is the best environment out there (i'm not just making it up). i would learn about Object Oriented Development regardless, because this concept comes back in C++ C# JAVA and most other commonly used languages.
    1
  1092. 1
  1093. 1
  1094. 1
  1095. 1
  1096. 1
  1097. 1
  1098. 1
  1099. 1
  1100. 1
  1101. 1
  1102. 1
  1103. 1
  1104. 1
  1105. 1
  1106. 1
  1107. 1
  1108. 1
  1109. 1
  1110. 1
  1111. 1
  1112. 1
  1113. 1
  1114. 1
  1115. 1
  1116. 1
  1117. 1
  1118. 1
  1119. 1
  1120. 1
  1121. 1
  1122. 1
  1123. 1
  1124. 1
  1125. 1
  1126. 1
  1127. 1
  1128. 1
  1129. 1
  1130. 1
  1131. 1
  1132. 1
  1133. 1
  1134. 1
  1135. 1
  1136. 1
  1137. 1
  1138. 1
  1139. 1
  1140. 1
  1141. 1
  1142. 1
  1143. 1
  1144. 1
  1145. 1
  1146. 1
  1147. 1
  1148. 1
  1149. 1
  1150. 1
  1151. 1
  1152. 1
  1153. 1
  1154. 1
  1155. 1
  1156. 1
  1157. 1
  1158. 1
  1159. 1
  1160. 1
  1161. 1
  1162. 1
  1163. 1
  1164. 1
  1165. 1
  1166. 1
  1167. 1
  1168. 1
  1169. 1
  1170. 1
  1171. 1
  1172. 1
  1173. 1
  1174. 1
  1175. 1
  1176. 1
  1177. 1
  1178. 1
  1179. 1
  1180. 1
  1181. 1
  1182. 1
  1183. 1
  1184. 1
  1185. 1
  1186. 1
  1187. 1
  1188. 1
  1189. 1
  1190. 1
  1191. 1
  1192. 1
  1193. 1
  1194. 1
  1195. 1
  1196. 1
  1197. 1
  1198. 1
  1199. 1
  1200. 1
  1201. 1
  1202. 1
  1203. 1
  1204. 1
  1205. 1
  1206. 1
  1207. 1
  1208. 1
  1209. 1
  1210. 1
  1211. 1
  1212. 1
  1213. 1
  1214. 1
  1215. 1
  1216. 1
  1217. 1
  1218. 1
  1219. 1
  1220. 1
  1221. 1
  1222. 1
  1223. 1
  1224. 1
  1225. 1
  1226. 1
  1227. 1
  1228. 1
  1229. 1
  1230. 1
  1231. 1
  1232. 1
  1233. 1
  1234. 1
  1235. 1
  1236. 1
  1237. 1
  1238. 1
  1239. 1
  1240. 1
  1241. 1
  1242. 1
  1243. 1
  1244. 1
  1245. 1
  1246. 1
  1247. 1
  1248. 1
  1249. 1
  1250. 1
  1251. 1
  1252. 1
  1253. 1
  1254. 1
  1255. 1
  1256. 1
  1257. 1
  1258. 1
  1259. 1
  1260. 1
  1261. 1
  1262. 1
  1263. 1
  1264. 1
  1265. 1
  1266. 1
  1267. 1
  1268. 1
  1269. 1
  1270. 1
  1271. 1
  1272. 1
  1273. 1
  1274. 1
  1275. 1
  1276. 1
  1277. 1
  1278. 1
  1279. 1
  1280. 1
  1281. 1
  1282. 1
  1283. 1
  1284. 1
  1285. 1
  1286. 1
  1287. 1
  1288. 1
  1289. 1
  1290. 1
  1291. 1
  1292. 1
  1293. 1
  1294. 1
  1295. 1
  1296. 1
  1297. 1
  1298. 1
  1299. 1
  1300. 1
  1301. 1
  1302. 1
  1303. 1
  1304. 1
  1305. 1
  1306. 1
  1307. 1
  1308. 1
  1309. 1
  1310. 1
  1311. 1
  1312. 1
  1313. 1
  1314. 1
  1315. 1
  1316. 1
  1317. 1
  1318. 1
  1319. 1
  1320. 1
  1321. 1
  1322. 1
  1323. 1
  1324. 1
  1325. 1
  1326. 1
  1327. 1
  1328. 1
  1329. 1
  1330. 1
  1331. 1
  1332. 1
  1333. 1
  1334. 1
  1335. 1
  1336. 1
  1337. 1
  1338. 1
  1339. 1
  1340. 1
  1341. 1
  1342. 1
  1343. 1
  1344. 1
  1345. 1
  1346. 1
  1347. 1
  1348. 1
  1349. 1
  1350. 1
  1351. 1
  1352. 1
  1353. 1
  1354. 1
  1355. 1
  1356. 1
  1357. 1
  1358. 1
  1359. 1
  1360. 1
  1361. 1
  1362. 1
  1363. 1
  1364. 1
  1365. 1
  1366. 1
  1367. 1
  1368. 1
  1369. 1
  1370. 1
  1371. 1
  1372. 1
  1373. 1
  1374. 1
  1375. 1
  1376. 1
  1377. 1
  1378. 1
  1379. 1
  1380. 1
  1381. 1
  1382. 1
  1383. 1
  1384. 1
  1385. 1
  1386. 1
  1387. 1
  1388. 1
  1389. 1
  1390. 1
  1391. 1
  1392. 1
  1393. 1
  1394. 1
  1395. 1
  1396. 1
  1397. 1
  1398. 1
  1399. 1
  1400. 1
  1401. 1
  1402. 1
  1403. 1
  1404. 1
  1405. 1
  1406. 1
  1407. 1
  1408. 1
  1409. 1
  1410. 1
  1411. 1
  1412. 1
  1413. 1
  1414. 1
  1415. 1
  1416. 1
  1417. 1
  1418. 1
  1419. 1
  1420. 1
  1421. 1
  1422. 1
  1423. 1
  1424. 1
  1425. 1
  1426. 1
  1427. 1
  1428. 1
  1429. 1
  1430. 1
  1431. 1
  1432. 1
  1433. 1
  1434. 1
  1435. 1
  1436. 1
  1437. 1
  1438. 1
  1439. 1
  1440. 1
  1441. 1
  1442. 1
  1443. 1
  1444. 1
  1445. 1
  1446. 1
  1447. 1
  1448. 1
  1449. 1
  1450. 1
  1451. 1
  1452. 1
  1453. 1
  1454. 1
  1455. 1
  1456. 1
  1457. 1
  1458. 1
  1459. 1
  1460. 1
  1461. 1
  1462. 1
  1463. 1
  1464. 1
  1465. 1
  1466. 1
  1467. 1
  1468. 1
  1469. 1
  1470. 1
  1471. 1
  1472. 1
  1473. 1
  1474. 1
  1475. 1
  1476. 1
  1477. 1
  1478. 1
  1479. 1
  1480. 1
  1481. 1
  1482. 1
  1483. 1
  1484. 1
  1485. 1
  1486. 1
  1487. 1
  1488. 1
  1489. 1
  1490. 1
  1491. 1
  1492. 1
  1493. 1
  1494. 1
  1495. 1
  1496. 1
  1497. 1
  1498. 1
  1499. 1
  1500. 1
  1501. 1
  1502. 1
  1503. 1
  1504. 1
  1505. 1
  1506. 1
  1507. 1
  1508. 1
  1509. 1
  1510. 1
  1511. 1
  1512. 1
  1513. 1
  1514. 1
  1515. 1
  1516. 1
  1517. 1
  1518. 1
  1519. 1
  1520. 1
  1521. 1
  1522. 1
  1523. 1
  1524. 1
  1525. 1
  1526. 1
  1527. 1
  1528. 1
  1529. 1
  1530. 1
  1531. 1
  1532. 1
  1533. 1
  1534. 1
  1535. 1
  1536. 1
  1537. 1
  1538. 1
  1539. 1
  1540. 1
  1541. 1
  1542. 1
  1543. 1
  1544. 1
  1545. 1
  1546. 1
  1547. 1
  1548. 1
  1549. 1
  1550. 1
  1551. 1
  1552. 1
  1553. 1
  1554. 1
  1555. 1
  1556. 1
  1557. 1
  1558. 1
  1559. 1
  1560. 1
  1561. 1
  1562. 1
  1563. 1
  1564. 1
  1565. 1
  1566. 1
  1567. 1
  1568. 1
  1569. 1
  1570. 1
  1571. 1
  1572. 1
  1573. 1
  1574. 1
  1575. 1
  1576. 1
  1577. 1
  1578. 1
  1579. 1
  1580. 1
  1581. 1
  1582. 1
  1583. 1
  1584. 1
  1585. 1
  1586. 1
  1587. 1
  1588. 1
  1589. 1
  1590. 1
  1591. 1
  1592. 1
  1593. 1
  1594. 1
  1595. 1
  1596. 1
  1597. 1
  1598. 1
  1599. 1
  1600. 1
  1601. 1
  1602. 1
  1603. 1
  1604. 1
  1605. 1
  1606. 1
  1607. 1
  1608. 1
  1609. 1
  1610. 1
  1611. 1
  1612. 1
  1613. 1
  1614. 1
  1615. 1
  1616. 1
  1617. 1
  1618. 1
  1619. 1
  1620. 1
  1621. 1
  1622. 1
  1623. 1
  1624. 1
  1625. 1
  1626. 1
  1627. 1
  1628. 1
  1629. 1
  1630. 1
  1631. 1
  1632. 1
  1633. 1
  1634. 1
  1635. 1
  1636. 1
  1637. 1
  1638. 1
  1639. 1
  1640. 1
  1641. 1
  1642. 1
  1643. 1
  1644. 1
  1645. 1
  1646. 1
  1647. 1
  1648. 1
  1649. 1
  1650. 1
  1651. 1
  1652. 1
  1653. 1
  1654. 1
  1655. 1
  1656. 1
  1657. 1
  1658. 1
  1659. 1
  1660. 1
  1661. 1
  1662. 1
  1663. 1
  1664. 1
  1665. 1
  1666. 1
  1667. 1
  1668. 1
  1669. 1
  1670. 1
  1671. 1
  1672. 1
  1673. 1
  1674. 1
  1675. 1
  1676. 1
  1677. 1
  1678. 1
  1679. 1
  1680. 1
  1681. 1
  1682. 1
  1683. 1
  1684. 1
  1685. 1
  1686. 1
  1687. 1
  1688. 1
  1689. 1
  1690. 1
  1691. 1
  1692. 1
  1693. 1
  1694. 1
  1695. 1
  1696. 1
  1697. 1
  1698. 1
  1699. 1
  1700. 1
  1701. 1
  1702. 1
  1703. 1
  1704. 1
  1705. 1
  1706. 1
  1707. 1
  1708. 1
  1709. 1
  1710. 1
  1711. 1
  1712. 1
  1713. 1
  1714. 1
  1715. 1
  1716. 1
  1717. 1
  1718. 1
  1719. 1
  1720. 1
  1721. 1
  1722. 1
  1723. 1
  1724. 1
  1725. 1
  1726. 1
  1727. 1
  1728. 1
  1729. 1
  1730. 1
  1731. 1
  1732. 1
  1733. 1
  1734. 1
  1735. 1
  1736. 1
  1737. 1
  1738. 1
  1739. 1
  1740. 1
  1741. 1
  1742. 1
  1743. 1
  1744. 1
  1745. 1
  1746. 1
  1747. 1
  1748. 1
  1749. 1
  1750. 1
  1751. 1
  1752. 1
  1753. 1
  1754. 1
  1755. 1
  1756. 1
  1757. 1
  1758. 1
  1759. 1
  1760. 1
  1761. 1
  1762. 1
  1763. 1
  1764. 1
  1765. 1
  1766. 1
  1767. 1
  1768. 1
  1769. 1
  1770. 1
  1771. 1
  1772. 1
  1773. 1
  1774. 1
  1775. 1
  1776. 1
  1777. 1
  1778. 1
  1779. 1
  1780. 1
  1781. 1
  1782. 1
  1783. 1
  1784. 1
  1785. 1
  1786. 1
  1787. 1
  1788. 1
  1789. 1
  1790. 1
  1791. 1
  1792. 1
  1793. 1
  1794. 1
  1795. 1
  1796. 1
  1797. 1
  1798. 1
  1799. 1
  1800. 1
  1801. 1
  1802. 1
  1803. 1
  1804. 1
  1805. 1
  1806. 1
  1807. 1
  1808. 1
  1809. 1
  1810. 1
  1811. 1
  1812. 1
  1813. 1
  1814. 1
  1815. 1
  1816. 1
  1817. 1
  1818. 1
  1819. 1
  1820. 1
  1821. 1
  1822. 1
  1823. 1
  1824. 1
  1825. 1
  1826. 1
  1827. 1
  1828. 1
  1829. 1
  1830. 1
  1831. 1
  1832. 1
  1833. 1
  1834. 1
  1835. 1
  1836. 1
  1837. 1
  1838. 1
  1839. 1
  1840. 1
  1841. 1
  1842. 1
  1843. 1
  1844. 1
  1845. 1
  1846. 1
  1847. 1
  1848. 1
  1849. 1
  1850. 1
  1851. 1
  1852. 1
  1853. 1
  1854. 1
  1855. 1
  1856. 1
  1857. 1
  1858. 1
  1859. 1
  1860. 1
  1861. 1
  1862. 1
  1863. 1
  1864. 1
  1865. 1
  1866. 1
  1867. 1
  1868. 1
  1869. 1
  1870. 1
  1871. 1
  1872. 1
  1873. 1
  1874. 1
  1875. 1
  1876. 1
  1877. 1
  1878. 1
  1879. 1
  1880. 1
  1881. 1
  1882. 1
  1883. 1
  1884. 1
  1885. 1
  1886. 1
  1887. 1
  1888. 1
  1889. 1
  1890. 1
  1891. 1
  1892. 1
  1893. 1
  1894. 1
  1895. 1
  1896. 1
  1897. 1
  1898. 1
  1899. 1
  1900. 1
  1901. 1
  1902. 1
  1903. 1
  1904. 1
  1905. 1
  1906. 1
  1907. 1
  1908. 1
  1909. 1
  1910. 1
  1911. 1
  1912. 1
  1913. 1
  1914. 1
  1915. 1
  1916. 1
  1917. 1
  1918. 1
  1919. 1
  1920. 1
  1921. 1
  1922. 1
  1923. 1
  1924. 1
  1925. 1
  1926. 1
  1927. 1
  1928. 1
  1929. 1
  1930. 1
  1931. 1
  1932. 1
  1933. 1
  1934. 1
  1935. 1
  1936. 1
  1937. 1
  1938. 1
  1939. 1
  1940. 1
  1941. 1
  1942. 1
  1943. 1
  1944. 1
  1945. 1
  1946. 1
  1947. 1
  1948. 1
  1949. 1
  1950. 1
  1951. 1
  1952. 1
  1953. 1
  1954. 1
  1955. 1
  1956. 1
  1957. 1
  1958. 1
  1959. 1
  1960. 1
  1961. 1
  1962. 1
  1963. 1
  1964. 1
  1965. 1
  1966. 1
  1967. 1
  1968. 1
  1969. 1
  1970. 1
  1971. 1
  1972. 1
  1973. 1
  1974. 1
  1975. 1
  1976. 1
  1977. 1
  1978. 1
  1979. 1
  1980. 1
  1981. 1
  1982. 1
  1983. 1
  1984. 1
  1985. 1
  1986. 1
  1987. 1
  1988. 1
  1989. 1
  1990. 1
  1991. 1
  1992.  @justgame5508  yes, there are typical circumstances that a program can't or shouldn't recover from, but this is ultimately dependent on the program. it's even dependent on the calling function. yes, invalid user input is recoverable when you use it in a form because the user can simply try again, but invalid user input in an unattended background job is usually not recoverable. failing to read from IO due to insufficient privileges is recoverable, in the rare case that you can read from other IO. as you said, it depends on the context. the caller is the context. this becomes very obvious when writing a library. for me Exceptions are simply an easy way to end the control flow, when i can't fulfill what the caller asked. the caller can decide whether it wants to recover, by catching the Exception. my claim is that errors, are not recoverable in most contexts. so the caller doesn't have to do anything to let the Exception propagate by default. this saves a lot of (forgotten) error handling logic and magic return values (potential bugs) throughout the call stack, and that is the big advantage. also dealing with invalid user input in a form is a bit of a special case because it often involves gathering all the errors to show to the user and not immediately ending the control flow. but if i don't yet want to end the control flow when encountering an error then i simply won't throw an Exception, until i've gathered the errors. personally, i usually only use Exceptions for the individual errors when the code is used in other place that need that. i think it's the job of languages and frameworks to make this less awkward and more performant. unfortunately a lot of times languages and frameworks make the decision for you, that you should be using Error Values instead of Exceptions. but that's a separate matter.
    1
  1993. 1
  1994. 1
  1995. 1
  1996. 1
  1997. 1
  1998. 1
  1999. 1
  2000. 1
  2001. 1
  2002. 1
  2003.  @justgame5508  yes, there are typical circumstances that a program can't or shouldn't recover from, but this is ultimately dependent on the program. it's even dependent on the calling function. yes, invalid user input is recoverable when you use it in a form because the user can simply try again, but invalid user input in an unattended background job is usually not recoverable. failing to read from IO due to insufficient privileges is recoverable, in the rare case that you can read from other IO. as you said, it depends on the context. the caller is the context. this becomes very obvious when writing a library. for me Exceptions are simply an easy way to end the control flow, when i can't fulfill what the caller asked. the caller can decide whether it wants to recover, by catching the Exception. my claim is that errors, are not recoverable in most contexts. so the caller doesn't have to do anything to let the Exception propagate by default. this saves a lot of (forgotten) error handling logic and magic return values (potential bugs) throughout the call stack, and that is the big advantage. also dealing with invalid user input in a form is a bit of a special case because it often involves gathering all the errors to show to the user and not immediately ending the control flow. but if i don't yet want to end the control flow when encountering an error then i simply won't throw an Exception, until i've gathered the errors. personally, i usually only use Exceptions for the individual errors when the code is used in other place that need that. i think it's the job of languages and frameworks to make this less awkward and more performant. unfortunately a lot of times languages and frameworks make the decision for you, that you should be using Error Values instead of Exceptions. but that's a separate matter.
    1
  2004. 1
  2005. 1
  2006. 1
  2007. 1
  2008. 1
  2009. 1
  2010. 1
  2011. 1
  2012. 1
  2013. 1
  2014. 1
  2015. 1
  2016. 1
  2017. 1
  2018. 1
  2019. 1
  2020. 1
  2021. 1
  2022. 1
  2023. 1
  2024. 1
  2025. 1
  2026. 1
  2027. 1
  2028. 1
  2029. 1
  2030. 1
  2031. 1
  2032. 1
  2033. 1
  2034. 1
  2035. 1
  2036. 1
  2037. 1
  2038. 1
  2039. 1
  2040. 1
  2041. 1
  2042. 1
  2043. 1
  2044. 1
  2045. 1
  2046. 1
  2047. 1
  2048. 1
  2049. 1
  2050. 1
  2051. 1
  2052. 1
  2053. 1
  2054. 1
  2055. 1
  2056. 1
  2057. 1
  2058. 1
  2059. 1
  2060. 1
  2061. 1
  2062. 1
  2063. 1
  2064. 1
  2065. 1
  2066. 1
  2067. 1
  2068. 1
  2069. 1
  2070. 1
  2071. 1
  2072. 1
  2073. 1
  2074. 1
  2075. 1
  2076. 1
  2077. 1
  2078. 1
  2079. 1
  2080. 1
  2081. 1
  2082. 1
  2083. 1
  2084. 1
  2085. 1
  2086. 1
  2087. 1
  2088. 1
  2089. 1
  2090. 1
  2091. 1
  2092. 1
  2093. 1
  2094. 1
  2095. 1
  2096. 1
  2097. 1
  2098. 1
  2099. 1
  2100. 1
  2101. 1
  2102. 1
  2103. 1
  2104. 1
  2105. 1
  2106. 1
  2107. 1
  2108. 1
  2109. 1
  2110. 1
  2111. 1
  2112. 1
  2113. 1
  2114. 1
  2115. 1
  2116. 1
  2117. 1
  2118. 1
  2119. 1
  2120. 1
  2121. 1
  2122. 1
  2123. 1
  2124. 1
  2125. 1
  2126. 1
  2127. 1
  2128. 1
  2129. 1
  2130. 1
  2131. 1
  2132. 1
  2133. 1
  2134. 1
  2135. 1
  2136. 1
  2137. 1
  2138. 1
  2139. 1
  2140. 1
  2141. 1
  2142. 1
  2143. 1
  2144. 1
  2145. 1
  2146. 1
  2147. 1
  2148. 1
  2149. 1
  2150. 1
  2151. 1
  2152. 1
  2153. 1
  2154. 1
  2155. 1
  2156. 1
  2157. 1
  2158. 1
  2159. 1
  2160. 1
  2161. 1
  2162. 1
  2163. 1
  2164. 1
  2165. 1
  2166. 1
  2167. 1
  2168. 1
  2169. 1
  2170. 1
  2171. 1
  2172. 1
  2173. 1
  2174. 1
  2175. 1
  2176. 1
  2177. 1
  2178. 1
  2179. 1
  2180. 1
  2181. 1
  2182. 1
  2183. 1
  2184. 1
  2185. 1
  2186. 1
  2187. 1
  2188. 1
  2189. 1
  2190. 1
  2191. 1
  2192. 1
  2193. 1
  2194. 1
  2195. 1
  2196. 1
  2197. 1
  2198. 1
  2199. 1
  2200. 1
  2201. 1
  2202. 1
  2203. 1
  2204. 1
  2205. 1
  2206. 1
  2207. 1
  2208. 1
  2209. 1
  2210. 1
  2211. 1
  2212. 1
  2213. 1
  2214. 1
  2215. 1
  2216. 1
  2217. 1
  2218. 1
  2219. 1
  2220. 1
  2221. 1
  2222. 1
  2223. 1
  2224. 1
  2225. 1
  2226. 1
  2227. 1
  2228. 1
  2229. 1
  2230. 1
  2231. 1
  2232. 1
  2233. 1
  2234. 1
  2235. 1
  2236. 1
  2237. 1
  2238. 1
  2239. 1
  2240. 1
  2241. 1
  2242. 1
  2243. 1
  2244. 1
  2245. 1
  2246. 1
  2247. 1
  2248. 1
  2249. 1
  2250. 1
  2251. 1
  2252. 1
  2253. 1
  2254. 1
  2255. 1
  2256. 1
  2257. 1
  2258. 1
  2259. 1
  2260. 1
  2261. 1
  2262. 1
  2263. 1
  2264. 1
  2265. 1
  2266. 1
  2267. 1
  2268. 1
  2269. 1
  2270. 1
  2271. 1
  2272. 1
  2273. 1
  2274. 1
  2275. 1
  2276. 1
  2277. 1
  2278. 1
  2279. 1
  2280. 1
  2281. 1
  2282. 1
  2283. 1
  2284. 1
  2285. 1
  2286. 1
  2287. 1
  2288. 1
  2289. 1
  2290. 1
  2291. 1
  2292. 1
  2293. 1
  2294. 1
  2295. 1
  2296. 1
  2297. 1
  2298. 1
  2299. 1
  2300. 1
  2301. 1
  2302. 1
  2303. 1
  2304. 1
  2305. 1
  2306. 1
  2307. 1
  2308. 1
  2309. 1
  2310. 1
  2311. 1
  2312. 1
  2313. 1
  2314. 1
  2315. 1
  2316. 1
  2317. 1
  2318. 1
  2319. 1
  2320. 1
  2321. 1
  2322. 1
  2323. 1
  2324. 1
  2325. 1
  2326. 1
  2327. 1
  2328. 1
  2329. 1
  2330. 1
  2331. 1
  2332. 1
  2333. 1
  2334. 1
  2335. 1
  2336. 1
  2337. 1
  2338. 1
  2339. 1
  2340. 1
  2341. 1
  2342. 1
  2343. 1
  2344. 1
  2345. 1
  2346. 1
  2347. 1
  2348. 1
  2349. 1
  2350. 1
  2351. 1
  2352. 1
  2353. 1
  2354. 1
  2355. 1
  2356. 1
  2357. 1
  2358. 1
  2359. 1
  2360. 1
  2361. 1
  2362. 1
  2363. 1
  2364. 1
  2365. 1
  2366. 1
  2367. 1
  2368. 1
  2369. 1
  2370. 1
  2371. 1
  2372. 1
  2373. 1
  2374. 1
  2375. 1
  2376. 1
  2377. 1
  2378. 1
  2379. 1
  2380. 1
  2381. 1
  2382. 1
  2383. 1
  2384. 1
  2385. 1
  2386. 1
  2387. 1
  2388. 1
  2389. 1
  2390. 1
  2391. 1
  2392. 1
  2393. 1
  2394. 1
  2395. 1
  2396. 1
  2397. 1
  2398. 1
  2399. 1
  2400. 1
  2401. 1
  2402. 1
  2403. 1
  2404. 1
  2405. 1
  2406. 1
  2407. 1
  2408. 1
  2409. 1
  2410. 1
  2411. 1
  2412. 1
  2413. 1
  2414. 1
  2415. 1
  2416. 1
  2417. 1
  2418. 1
  2419. 1
  2420. 1
  2421. 1
  2422. 1
  2423. 1
  2424. 1
  2425. 1
  2426. 1
  2427. 1
  2428. 1
  2429. 1
  2430. 1
  2431. 1
  2432. 1
  2433. 1
  2434. 1
  2435. 1
  2436. 1
  2437. 1
  2438. 1
  2439. 1
  2440. 1
  2441. 1
  2442. 1
  2443. 1
  2444. 1
  2445. 1
  2446. 1
  2447. 1
  2448. 1
  2449. 1
  2450. 1
  2451. 1
  2452. 1
  2453. 1
  2454. 1
  2455. 1
  2456. 1
  2457. 1
  2458. 1
  2459. 1
  2460. 1
  2461. 1
  2462. 1
  2463. 1
  2464. 1
  2465. 1
  2466. 1
  2467. 1
  2468. 1
  2469. 1
  2470. 1
  2471. 1
  2472. 1
  2473. 1
  2474. 1
  2475. 1
  2476. 1
  2477. 1
  2478. 1
  2479. 1
  2480. 1
  2481. 1
  2482. 1
  2483. 1
  2484. 1
  2485. 1
  2486. 1
  2487. 1
  2488. 1
  2489. 1
  2490. 1
  2491. 1
  2492. 1
  2493. 1
  2494. 1
  2495. 1
  2496. 1
  2497. 1
  2498. 1
  2499. 1
  2500. 1
  2501. 1
  2502. 1
  2503. 1
  2504. 1
  2505. 1
  2506. 1
  2507. 1
  2508. 1
  2509. 1
  2510. 1
  2511. 1
  2512. 1
  2513. 1
  2514. 1
  2515. 1
  2516. 1
  2517. 1
  2518. 1
  2519. 1
  2520. 1
  2521. 1
  2522. 1
  2523. 1
  2524. 1
  2525. 1
  2526. 1
  2527. 1
  2528. 1
  2529. 1
  2530. 1
  2531. 1
  2532. 1
  2533. 1
  2534. 1
  2535. 1
  2536. 1
  2537. 1
  2538. 1
  2539. 1
  2540. 1
  2541. 1
  2542. 1
  2543. 1
  2544. 1
  2545. 1
  2546. 1
  2547. 1
  2548. 1
  2549. 1
  2550. 1
  2551. 1
  2552. 1
  2553. 1
  2554. 1
  2555. 1
  2556. 1
  2557. 1
  2558. 1
  2559. 1
  2560. 1
  2561. 1
  2562. 1
  2563. 1
  2564. 1
  2565. 1
  2566. 1
  2567. 1
  2568. 1
  2569. 1
  2570. 1
  2571. 1
  2572. 1
  2573. 1
  2574. 1
  2575. 1
  2576. 1
  2577. 1
  2578. 1
  2579. 1
  2580. 1
  2581. 1
  2582. 1
  2583. 1
  2584. 1
  2585. 1
  2586. 1
  2587. 1
  2588. 1
  2589. 1
  2590. 1
  2591. 1
  2592. 1
  2593. 1
  2594. 1
  2595. 1
  2596. 1
  2597. 1
  2598. 1
  2599. 1
  2600. 1
  2601. 1
  2602. 1
  2603. 1
  2604. 1
  2605. 1
  2606. 1
  2607. 1
  2608. 1
  2609. 1
  2610. 1
  2611. 1
  2612. 1
  2613. 1
  2614. 1
  2615. 1
  2616. 1
  2617. 1
  2618. 1
  2619. 1
  2620. 1
  2621. 1
  2622. 1
  2623. 1
  2624. 1
  2625. 1
  2626. 1
  2627. 1
  2628. 1
  2629. 1
  2630. 1
  2631. 1
  2632.  @simonk1844  you should use what is supported by your platform. functional programming languages typically have a compiler that forces you to do something with the return values. but most languages are imperative and have don't support this. if you use return values in those languages just because you like that style, then you will forget to check return values leading to silent errors. also partial function applications for monadic style error handling that is typical in functional programming, is not always supported, which will probably also result in the Arrow Anti-Pattern. so if you want reliable software, then the choice has typically already been made for you. i think the interesting discussion, is why checked exceptions are such a nuisance. the problem with checked exceptions is that they make the assumption that the caller always cares which specific error occurred. this is almost always a wrong assumption. not only because it assumes that the calling function is responsible for handling the error. most of the time, programs only care in it's decisions, whether the call failed or and pass on the error details to a human. it would be better if checked exception just advertise the possible exceptions and allow the caller to switch "something" on that forces them to check these for the few cases it actually matters, instead of introducing tight coupling that breaks all callers who don't even care about which specific errors can occur. technically, the fact that unchecked exceptions exist, already means that there is a hole in reliability of checked exceptions making them useless.
    1
  2633. 1
  2634. 1
  2635. 1
  2636. 1
  2637.  @simonk1844  you should use what is supported by your platform. functional programming languages typically have a compiler that forces you to do something with the return values. but most languages are imperative and have don't support this. if you use return values in those languages just because you like that style, then you will forget to check return values leading to silent errors. also partial function applications for monadic style error handling that is typical in functional programming, is not always supported, which will probably also result in the Arrow Anti-Pattern. so if you want reliable software, you typically don't have a choice. i think the interesting discussion, is why checked exceptions are such a nuisance. the problem with checked exceptions is that they make the assumption that the caller always cares which specific error occurred. this is almost always a wrong assumption. not only because it assumes that the calling function is responsible for handling the error. most of the time, programs only care in it's decisions, whether the call failed or and pass on the error details to a human. it would be better if checked exception just advertise the possible exceptions and allow the caller to switch "something" on that forces them to check these for the few cases it actually matters, instead of introducing tight coupling that breaks all callers who don't even care about which specific errors can occur. technically, the fact that unchecked exceptions exist, already means that there is a hole in reliability of checked exceptions making them useless.
    1
  2638. 1
  2639. 1
  2640. 1
  2641. 1
  2642. 1
  2643. 1
  2644. 1
  2645. 1
  2646. 1
  2647. 1
  2648. 1
  2649. 1
  2650. 1
  2651. 1
  2652. 1
  2653. 1
  2654. 1
  2655. 1
  2656. 1
  2657. 1
  2658. 1
  2659. 1
  2660. 1
  2661. 1
  2662. 1
  2663. 1
  2664. 1
  2665. 1
  2666. 1
  2667. 1
  2668. 1
  2669. 1
  2670. 1
  2671. 1
  2672. 1
  2673. 1
  2674. 1
  2675. 1
  2676. 1
  2677. 1
  2678. 1
  2679. 1
  2680. 1
  2681. 1
  2682. 1
  2683. 1
  2684. 1
  2685. 1
  2686. 1
  2687. 1
  2688. 1
  2689. 1
  2690. 1
  2691. 1
  2692. 1
  2693. 1
  2694. 1
  2695. 1
  2696. 1
  2697. 1
  2698. 1
  2699. 1
  2700. 1
  2701. 1
  2702. 1
  2703. 1
  2704. 1
  2705. 1
  2706. 1
  2707. 1
  2708. 1
  2709. 1
  2710. 1
  2711. 1
  2712. 1
  2713. 1
  2714. 1
  2715. 1
  2716. 1
  2717. 1
  2718. 1
  2719. 1
  2720. 1
  2721. 1
  2722. 1
  2723. 1
  2724. 1
  2725. 1
  2726. 1
  2727. 1
  2728. 1
  2729. 1
  2730. 1
  2731. 1
  2732. 1
  2733. 1
  2734. 1
  2735. 1
  2736. 1
  2737. 1
  2738. 1
  2739. 1
  2740. 1
  2741. 1
  2742. 1
  2743. 1
  2744. 1
  2745. 1
  2746. 1
  2747. 1
  2748. 1
  2749. 1
  2750. 1
  2751. 1
  2752. 1
  2753. 1
  2754. 1
  2755. 1
  2756. 1
  2757. 1
  2758. 1
  2759. 1
  2760. 1
  2761. 1
  2762. 1
  2763. 1
  2764. 1
  2765. 1
  2766. 1
  2767. 1
  2768. 1
  2769. 1
  2770. 1
  2771. 1
  2772. 1
  2773. 1
  2774. 1
  2775. 1
  2776. 1
  2777. 1
  2778. 1
  2779. 1
  2780. 1
  2781. 1
  2782. 1
  2783. 1
  2784. 1
  2785. 1
  2786. 1
  2787. 1
  2788. 1
  2789. 1
  2790. 1
  2791. 1
  2792. 1
  2793. 1
  2794. 1
  2795. 1
  2796. 1
  2797. 1
  2798. 1
  2799. 1
  2800. 1
  2801. 1
  2802. 1
  2803. 1
  2804. 1
  2805. 1
  2806. 1
  2807. 1
  2808. 1
  2809. 1
  2810. 1
  2811. 1
  2812. 1
  2813. 1
  2814. 1
  2815. 1
  2816. 1
  2817. 1
  2818. 1
  2819. 1
  2820. 1
  2821. 1
  2822. 1
  2823. 1
  2824. 1
  2825. 1
  2826. 1
  2827. 1
  2828. 1
  2829. 1
  2830. 1
  2831. 1
  2832. 1
  2833. 1
  2834. 1
  2835. 1
  2836. 1
  2837. 1
  2838. 1
  2839. 1
  2840. 1
  2841. 1
  2842. 1
  2843. 1
  2844. 1
  2845. 1
  2846. 1
  2847. 1
  2848. 1
  2849. 1
  2850. 1
  2851. 1
  2852. 1
  2853. 1
  2854. 1
  2855. 1
  2856. 1
  2857. 1
  2858. 1
  2859. 1
  2860. 1
  2861. 1
  2862. 1
  2863. 1
  2864. 1
  2865. 1
  2866. 1
  2867. 1
  2868. 1
  2869. 1
  2870. 1
  2871. 1
  2872. 1
  2873. 1
  2874. 1
  2875. 1
  2876. 1
  2877. 1
  2878. 1
  2879. 1
  2880. 1
  2881. 1
  2882. 1
  2883. 1
  2884. 1
  2885. 1
  2886. 1
  2887. 1
  2888. 1
  2889. 1
  2890. 1
  2891. 1
  2892. 1
  2893. 1
  2894. 1
  2895. ​ @AG-ur1lj  "Changing some value until some condition is met" changing stuff is pretty much a side effect, so yeah that's trickier to reason about but it's not because of recursion. you can make recursion look just like a loop if you pass on to the next call, what you would pass on to the next loop iteration. so it's not necessarily harder to reason about. but i get that syntax wise it would require creating a whole new function (i know that feeling in most languages). in functional programming languages you get away with this, because the syntax for creating a recursive function is about as heavy as writing a loop (only slightly heavier). loops are only a subset of what you can do with recursion. typically it's problems that work with trees that are easier with recursion. but lots of things are trees. like finding an employee's highest level manager by going through the manager's manager etc, or problems like adding 1 to every node in a tree. XML is also an example of a tree. but even in functional programming people try avoid dropping to recursion: most things, can be done with just a function call, because function definitions are values an so can be passed in and returned as values like in JavaScript (a.k.a. Higher Order functions). but also because a function call with missing parameters, results in a new function that expects the missing parameters (a.k.a. Lambda Calculus). so you get a lot of one liners like in this video. side effects (including global mutable state) are typically avoided in functional programming. you still need them to change the outside world, but they are typically confined to only a few parts of your program, and make the rest easier to reason about. bugs can still occur of course in functional programming, but a strict type system and the increased simplicity of the code makes it less likely (the whole program is basically 1 expression instead a statement like in most other Imperative programming languages). TLDR: basically it helps if the language is flexible enough to not have to write out recursion, every time you need it.
    1
  2896.  @AG-ur1lj  "Changing some value until some condition is met" changing stuff is pretty much a side effect, so yeah that's trickier to reason about but it's not because of recursion. you can make recursion look just like a loop if you pass on to the next call, what you would pass on to the next loop iteration. so it's not necessarily harder to reason about. but i get that syntax wise it would require creating a whole new function (i know that feeling in most languages). in functional programming languages you get away with this, because the syntax for creating a recursive function is about as heavy as writing a loop (only slightly heavier). loops are only a subset of what you can do with recursion. typically it's problems that work with trees that are easier with recursion. but lots of things are trees. like finding an employee's highest level manager by going through the manager's manager etc, or problems like adding 1 to every node in a tree. XML is also an example of a tree. but even in functional programming people try avoid dropping to recursion: most things, can be done with just a function call, because function definitions are values an so can be passed in and returned as values like in JavaScript (aka Higher Order functions). but also because a function call with missing parameters, results in a new function that expects the missing parameters (aka Lambda Calculus). so you get a lot of one liners like in this video. side effects (including global mutable state) are typically avoided in functional programming. you still need them to change the outside world, but they are typically confined to only a few parts of your program, and make the rest easier to reason about. bugs can still occur of course in functional programming, but a strict type system and the increased simplicity of the code makes it less likely (the whole program is basically 1 expression instead a statement like in most other Imperative programming languages). TLDR: basically it helps if the language is flexible enough to not have to write out recursion, every time you need it.
    1
  2897. 1
  2898. 1
  2899. 1
  2900. 1
  2901. 1
  2902. 1
  2903. 1
  2904. 1
  2905. 1
  2906. 1
  2907. 1
  2908. 1
  2909. 1
  2910. 1
  2911. 1
  2912. 1
  2913. 1
  2914. 1
  2915. 1
  2916. 1
  2917. 1
  2918. 1
  2919. 1
  2920. 1
  2921. 1
  2922.  @nihilistlivesmatter  mob mentality and groupthink are the same to me. i already mentioned this. that's what i meant with "mob". i don't deny that people can be motivated to downvote. i'm also not making sweeping statements about those that disagree with me. i'm saying that there is a possibility that some downvotes come about differently. not everything is black and white. i can't give you more to work with, than my opinion. maybe you are trying to read things between the lines that aren't there. it's possible that i'm not opinionated enough for you to have a vigorous discussion with. yes "misinformed" can be a proxy for disagreement, but can also not be. we don't seem to disagree here. one possibility does not exclude the other (not black and white). yes, agreed. chaning "F J biden" is a manifestation of a reason. ok let's say that the reason for chanting "F J biden" is about how he handled the Afghan withdrawal. that seems legitimate to me. it was a terrible mess. i would say that someone presented with complete information, for whatever they want addressed, is not a low information voter. but, i'm not so quick to conflate or not conflate, single issue voters with low information voters. by guy in the wheelchiar, do you mean the video "Disabled Man Shot 9 TIMES By Cop For Shoplifting". i'm not familiar with it this story. can you explain how TYT mishandled it? i can actually tell that you are more informed, than most people that i respond to. "bedwetter audience" seemed like a generalization, but fair enough, he did call you a kid. but regardless, i'm still always curious about any news sources other than TYT that try to go into the ehtics of the finer details, especially if it's opposition. if you know any.
    1
  2923. 1
  2924. 1
  2925. 1
  2926. 1
  2927. 1
  2928. 1
  2929. 1
  2930. 1
  2931. 1
  2932. 1
  2933. 1
  2934. 1
  2935. 1
  2936. 1
  2937. 1
  2938. 1
  2939. 1
  2940. 1
  2941. 1
  2942. 1
  2943. 1
  2944. 1
  2945. 1
  2946. 1
  2947. 1
  2948. 1
  2949. 1
  2950. 1
  2951. 1
  2952. 1
  2953. 1
  2954. 1
  2955. 1
  2956. 1
  2957. 1
  2958. 1
  2959. 1
  2960. 1
  2961. 1
  2962. 1
  2963. 1
  2964. 1
  2965. 1
  2966. 1
  2967. 1
  2968. 1
  2969. 1
  2970. 1
  2971. 1
  2972. 1
  2973. 1
  2974. 1
  2975. 1
  2976. 1
  2977. 1
  2978. 1
  2979. 1
  2980. 1
  2981. 1
  2982. 1
  2983. 1
  2984. 1
  2985. 1
  2986. 1
  2987. 1
  2988. 1
  2989. 1
  2990. 1
  2991. 1
  2992. 1
  2993. 1
  2994. 1
  2995. 1
  2996. 1
  2997. 1
  2998. 1
  2999. 1
  3000. 1
  3001. 1
  3002. 1
  3003. 1
  3004. 1
  3005. 1