|
| 1 | + |
| 2 | +# Programming Languages |
| 3 | + |
| 4 | ++++ |
| 5 | + |
| 6 | +Today we'll explore how programming languages are cateogrized. Along the way, this will expose what core, generic features of a programming language are. |
| 7 | + |
| 8 | ++++ |
| 9 | + |
| 10 | +The key takeaway that I want for your is to have intution for how to choose a language for a project, not only your favorite, but what is the best for different types of projects. |
| 11 | + |
| 12 | ++++ |
| 13 | + |
| 14 | +```{tip} |
| 15 | +You should do *either* the `in groups` or the `on your own` sections below for the x.x.x. For the x.x sections do all of them. |
| 16 | +``` |
| 17 | + |
| 18 | +```{important} |
| 19 | + Use the makeup workflow with an [ISO formated date](https://www.iso.org/iso-8601-date-and-time-format.html) (YYYY-MM-DD)). |
| 20 | +``` |
| 21 | ++++ |
| 22 | + |
| 23 | + |
| 24 | +## Comparing languages you know |
| 25 | + |
| 26 | +Tak a few minutes on your own to fill in the follwing table for two languages of your own. Replace the `<langugage>` with two languages that you are familiar with. Add two additional rows. You can do this by memory, or by looking up/discussing. If you look things up, be sure to use reputable sources and include links to them. |
| 27 | + |
| 28 | +``` |
| 29 | +| feature | <language> | <language></language> | |
| 30 | +| ++++++-- | ++++++-- | ++++++-- | |
| 31 | +| use of whitespace | Text | Text | |
| 32 | +| list/array types | | | |
| 33 | +| variable typing | | | |
| 34 | +| memory usage | | | |
| 35 | +``` |
| 36 | + |
| 37 | +### In groups |
| 38 | + |
| 39 | ++++ |
| 40 | +````{margin} |
| 41 | +```{hint} |
| 42 | +Use a [cryptad "code" file](https://cryptpad.fr/) or similar to collaborate live on a markdown file (one person can create and then share the url, no one will need an account). You could add the tables all to the one file so that you can all see one another's tables |
| 43 | +``` |
| 44 | +```` |
| 45 | +Share your table with some classmates and then discuss how they are similar and different. |
| 46 | + |
| 47 | ++++ |
| 48 | + |
| 49 | +Together, produce a list of questions for what other things you would want to know about how programming languages compare. All of you should include the collaboratively developed list in your experience report. |
| 50 | + |
| 51 | + |
| 52 | ++++ |
| 53 | + |
| 54 | + |
| 55 | +### On your own |
| 56 | + |
| 57 | ++++ |
| 58 | + |
| 59 | +Post your table and a question about how you might compare programming languages on [GitHub](https://github.com/introcompsys/sp23community/discussions/6). Reply to at least two peers offering either advice or asking additional questions. |
| 60 | + |
| 61 | ++++ |
| 62 | + |
| 63 | + |
| 64 | ++++ |
| 65 | + |
| 66 | + |
| 67 | +## Learn more |
| 68 | + |
| 69 | ++++ |
| 70 | + |
| 71 | +- What is the study of programming languages? [intro to PL](https://www3.cs.stonybrook.edu/~pfodor/courses/CSE260/_L01_Introduction_Programming_Languages.pdf) |
| 72 | + |
| 73 | + |
| 74 | +### In groups |
| 75 | + |
| 76 | +Discuss the reading, in particular: |
| 77 | +- what you found most interesting |
| 78 | +- was anything new to you? |
| 79 | +- what do you want to remember most or learn more about? |
| 80 | + |
| 81 | +In your experience report make a few notes (all can be the same notes// one person could write and share) about if you all agreed or each had different key points from the reading. |
| 82 | + |
| 83 | + |
| 84 | +### On your own |
| 85 | + |
| 86 | +After reading this and your classmates' posts, add notes on broader patterns below your table in your experience report. |
| 87 | + |
| 88 | ++++ |
| 89 | + |
| 90 | + |
| 91 | +## PL in Developer Survey |
| 92 | + |
| 93 | ++++ |
| 94 | + |
| 95 | +Read Carefully the [developer survey// languages section](https://insights.stackoverflow.com/survey) |
| 96 | +for 2022. (the 2023 survey has not occurred yet) |
| 97 | + |
| 98 | ++++ |
| 99 | + |
| 100 | + |
| 101 | +Do additional reading about the languages from their official references if needed to answer the following questions. |
| 102 | + |
| 103 | ++++ |
| 104 | + |
| 105 | +### With classmates |
| 106 | + |
| 107 | ++++ |
| 108 | + |
| 109 | + |
| 110 | +Discuss the findings to answer the following questions. This discussion should be at least 10-15 minutes including looking up information about different languages. As a group, you may divide and conquer this research. |
| 111 | +- what is surprising? |
| 112 | +- what did you expect? |
| 113 | +- what do the popular languages have in common? |
| 114 | +- what do the dreaded languages have in common? |
| 115 | +- How are popular vs dreaded languages different? What features might be the cause for making a language dreaded? |
| 116 | +- How to used languages differ from less commonly used languages? What features might be the cause for making a languge popular? |
| 117 | +- How have things changed since 2011? |
| 118 | + |
| 119 | ++++ |
| 120 | + |
| 121 | +Include (shared) notes from the discussion in your experience report. |
| 122 | +Reflect (individually) on a few key points (2-3 bullet points) from the discussion in your experience report for today. Include the names of your group mates that you discussed with. |
| 123 | + |
| 124 | + |
| 125 | + |
| 126 | + |
| 127 | +### On your own |
| 128 | + |
| 129 | ++++ |
| 130 | + |
| 131 | +Include answers to the following questions in your experience report for today. |
| 132 | +- what is surprising? |
| 133 | +- what did you expect? |
| 134 | +- what do the popular languages have in common? |
| 135 | +- what do the dreaded languages have in common? |
| 136 | +- How are popular vs dreaded languages different? What features might be the cause for making a language dreaded? |
| 137 | +- How to used languages differ from less commonly used languages? What features might be the cause for making a languge popular? |
| 138 | +- How have things changed since 2011? |
| 139 | + |
| 140 | +## Review today's class |
| 141 | + |
| 142 | +```{include} ../_review/2023-03-28.md |
| 143 | +``` |
| 144 | + |
| 145 | + |
| 146 | + |
| 147 | +## Prepare for Next Class |
| 148 | + |
| 149 | +```{include} ../_prepare/2023-03-28.md |
| 150 | +``` |
| 151 | + |
| 152 | + |
| 153 | + |
| 154 | +## More Practice |
| 155 | + |
| 156 | +```{include} ../_practice/2023-03-28.md |
| 157 | +``` |
| 158 | + |
| 159 | + |
| 160 | + |
| 161 | +## Experience Report Evidence |
| 162 | + |
| 163 | +Answers to questions |
| 164 | + |
| 165 | +## Questions After Today's Class |
0 commit comments